This document will include all statistics for the DSS Feces dataset. As of 11/27/2017, there are four separate files for R analysis, one for each metadata file. Working directory should be set to ~/DSS.DSS-hLZ_R/R/, where all files and resulting images will be kept.
Note: This only needs to be performed once. After installation, load phyloseq using library().
Update and/or reinstall as needed prior to loading. Look for any errors.
#Loading packages
library(biomformat)
#library(ape)
library(phyloseq)
library(vegan)
#install.packages("xtable")
library(xtable)
library(xtable)
library(ggplot2)
library(RColorBrewer)
library(data.table)
#install.packages("entropart")
library(entropart)
library(DESeq2)
## Loading required package: S4Vectors
## Loading required package: stats4
## Loading required package: BiocGenerics
## Loading required package: parallel
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:parallel':
##
## clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
## clusterExport, clusterMap, parApply, parCapply, parLapply,
## parLapplyLB, parRapply, parSapply, parSapplyLB
## The following objects are masked from 'package:biomformat':
##
## colnames, rownames
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, append, as.data.frame, cbind, colMeans,
## colnames, colSums, do.call, duplicated, eval, evalq, Filter,
## Find, get, grep, grepl, intersect, is.unsorted, lapply,
## lengths, Map, mapply, match, mget, order, paste, pmax,
## pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce,
## rowMeans, rownames, rowSums, sapply, setdiff, sort, table,
## tapply, union, unique, unsplit, which, which.max, which.min
##
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:data.table':
##
## first, second
## The following object is masked from 'package:base':
##
## expand.grid
## Loading required package: IRanges
##
## Attaching package: 'IRanges'
## The following object is masked from 'package:data.table':
##
## shift
## The following object is masked from 'package:phyloseq':
##
## distance
## Loading required package: GenomicRanges
## Loading required package: GenomeInfoDb
## Loading required package: SummarizedExperiment
## Loading required package: Biobase
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
##
## Attaching package: 'Biobase'
## The following object is masked from 'package:phyloseq':
##
## sampleNames
## Loading required package: DelayedArray
## Loading required package: matrixStats
## Warning: package 'matrixStats' was built under R version 3.4.3
##
## Attaching package: 'matrixStats'
## The following objects are masked from 'package:Biobase':
##
## anyMissing, rowMedians
##
## Attaching package: 'DelayedArray'
## The following objects are masked from 'package:matrixStats':
##
## colMaxs, colMins, colRanges, rowMaxs, rowMins, rowRanges
## The following object is masked from 'package:base':
##
## apply
library(superheat)
#setting preferred graphics theme
theme_set(theme_bw())
#Set File Paths First
#DSS Feces Samples
dss_feces_otus <- "dss.feces/feces_otus_fixed/otu_table_mc3_w_tax_no_pynast_failures.biom"
dss_feces_tree <- "dss.feces/feces_otus_fixed/rep_set.tre"
dss_feces_refseq <- "dss.feces/feces_otus_fixed/new_refseqs.fna"
dss_feces_map <- "mapping.files/MappingFiles_DSS_feces.txt"
#import biom tables
DSSFecesBiom <- import_biom(dss_feces_otus, parseFunction = parse_taxonomy_default)
## Warning in strsplit(msg, "\n"): input string 1 is invalid in this locale
#import mapping files with metadata
DSSFecesMeta <- import_qiime_sample_data(dss_feces_map)
#import trees
DSSFecesTree <- read_tree(dss_feces_tree)
#Merge Biom table, metadata, and trees to create larger phyloseq objects.
DSSFecesData <- merge_phyloseq(DSSFecesBiom, DSSFecesMeta, DSSFecesTree)
#Rename Columns from "Rank1, Rank2, ... Rank 7" to Phylogenetic categories.
colnames(tax_table(DSSFecesData)) <- c("Kingdom", "Phylum", "Class", "Order", "Family", "Genus", "Species")
#View summary of dataset.
DSSFecesData
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 10224 taxa and 93 samples ]
## sample_data() Sample Data: [ 93 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 10224 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 10224 tips and 10222 internal nodes ]
#Importing Datasets with All OTUs (including singletons and doubletons) and with Stringent OTUs (at 0.005% filtering).
#Set up Filepaths
all_otus <- "dss.feces/feces_otus_all/feces_otus_fixed_all/otu_table_mc1_w_tax_no_pynast_failures.biom"
str_otus <- "dss.feces/feces_otus_stringent/feces_otus_fixed_stringent/otu_table_mc45_w_tax_no_pynast_failures.biom"
all_tree <- "dss.feces/feces_otus_all/feces_otus_fixed_all/rep_set.tre"
str_tree <- "dss.feces/feces_otus_stringent/feces_otus_fixed_stringent/rep_set.tre"
#Import New Biom tables
all_otus_biom <- import_biom(all_otus, parseFunction = parse_taxonomy_default)
## Warning in strsplit(msg, "\n"): input string 1 is invalid in this locale
str_otus_biom <- import_biom(str_otus, parseFunction = parse_taxonomy_default)
## Warning in strsplit(msg, "\n"): input string 1 is invalid in this locale
#Import New Trees
str_tree <- read_tree(str_tree)
all_tree <- read_tree(all_tree)
#Merge New Biom tables, metadata, and trees.
DSSFecesAll <- merge_phyloseq(all_otus_biom, DSSFecesMeta, all_tree)
DSSFecesStr <- merge_phyloseq(str_otus_biom, DSSFecesMeta, str_tree)
#Rename Columns from "Rank1, Rank2, ... Rank 7" to Phylogenetic categories.
colnames(tax_table(DSSFecesAll)) <- c("Kingdom", "Phylum", "Class", "Order", "Family", "Genus", "Species")
colnames(tax_table(DSSFecesStr)) <- c("Kingdom", "Phylum", "Class", "Order", "Family", "Genus", "Species")
#View Summaries of New Datasets
DSSFecesAll
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 25185 taxa and 93 samples ]
## sample_data() Sample Data: [ 93 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 25185 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 25185 tips and 25183 internal nodes ]
DSSFecesStr
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1192 taxa and 93 samples ]
## sample_data() Sample Data: [ 93 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 1192 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1192 tips and 1190 internal nodes ]
#Check the number of taxa
ntaxa(DSSFecesData)
## [1] 10224
ntaxa(DSSFecesAll)
## [1] 25185
ntaxa(DSSFecesStr)
## [1] 1192
#Check the number of samples
nsamples(DSSFecesData)
## [1] 93
nsamples(DSSFecesAll)
## [1] 93
nsamples(DSSFecesStr)
## [1] 93
#Check first few sample names
sample_names(DSSFecesData)[1:10]
## [1] "243" "56" "31" "71" "58" "132" "60" "317" "55" "37"
sample_names(DSSFecesAll)[1:10]
## [1] "243" "56" "31" "71" "58" "132" "60" "317" "55" "37"
sample_names(DSSFecesStr)[1:10]
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317"
#Check metadata variables associated with each sample
sample_variables(DSSFecesData)
## [1] "X.SampleID" "BarcodeSequence" "LinkerPrimerSequence"
## [4] "Trial" "Time" "TrialTime"
## [7] "Description"
sample_variables(DSSFecesAll)
## [1] "X.SampleID" "BarcodeSequence" "LinkerPrimerSequence"
## [4] "Trial" "Time" "TrialTime"
## [7] "Description"
sample_variables(DSSFecesStr)
## [1] "X.SampleID" "BarcodeSequence" "LinkerPrimerSequence"
## [4] "Trial" "Time" "TrialTime"
## [7] "Description"
#Check first few taxa names
taxa_names(DSSFecesData)[1:10]
## [1] "New.CleanUp.ReferenceOTU8752" "New.CleanUp.ReferenceOTU28692"
## [3] "New.CleanUp.ReferenceOTU19904" "New.CleanUp.ReferenceOTU1078"
## [5] "305460" "New.CleanUp.ReferenceOTU32095"
## [7] "New.ReferenceOTU248" "New.CleanUp.ReferenceOTU137"
## [9] "New.CleanUp.ReferenceOTU18888" "New.CleanUp.ReferenceOTU20483"
taxa_names(DSSFecesAll)[1:10]
## [1] "New.CleanUp.ReferenceOTU1441" "New.CleanUp.ReferenceOTU5131"
## [3] "New.CleanUp.ReferenceOTU13653" "New.CleanUp.ReferenceOTU6313"
## [5] "New.CleanUp.ReferenceOTU23425" "New.CleanUp.ReferenceOTU10108"
## [7] "New.CleanUp.ReferenceOTU18131" "New.CleanUp.ReferenceOTU30836"
## [9] "New.CleanUp.ReferenceOTU30786" "New.CleanUp.ReferenceOTU30585"
taxa_names(DSSFecesStr)[1:10]
## [1] "New.CleanUp.ReferenceOTU10212" "New.CleanUp.ReferenceOTU31068"
## [3] "New.ReferenceOTU33" "New.ReferenceOTU122"
## [5] "360329" "New.CleanUp.ReferenceOTU20966"
## [7] "New.CleanUp.ReferenceOTU1797" "New.CleanUp.ReferenceOTU17971"
## [9] "New.CleanUp.ReferenceOTU6149" "350970"
#Double check the rank names were changed correctly (Line 85)
rank_names(DSSFecesData)
## [1] "Kingdom" "Phylum" "Class" "Order" "Family" "Genus" "Species"
rank_names(DSSFecesAll)
## [1] "Kingdom" "Phylum" "Class" "Order" "Family" "Genus" "Species"
rank_names(DSSFecesStr)
## [1] "Kingdom" "Phylum" "Class" "Order" "Family" "Genus" "Species"
#Determining which taxa are present at each rank.
head(get_taxa_unique(DSSFecesData, taxonomic.rank = rank_names(DSSFecesData)))
## [1] "k__Bacteria" "Unassigned" "k__Archaea" "p__Firmicutes"
## [5] NA "p__Tenericutes"
head(get_taxa_unique(DSSFecesAll, taxonomic.rank = rank_names(DSSFecesAll)))
## [1] "k__Bacteria" "Unassigned" "k__Archaea"
## [4] "p__Firmicutes" NA "p__Bacteroidetes"
head(get_taxa_unique(DSSFecesStr, taxonomic.rank = rank_names(DSSFecesStr)))
## [1] "k__Bacteria" "k__Archaea" "Unassigned"
## [4] "p__Firmicutes" "p__Actinobacteria" "p__WPS-2"
Adjust this to what is recommended for diversity in Phyloseq.
#Removing samples with total read counts below a particular threshold (Here, 20)
#DSSFecesStr_pruned <- prune_samples(sample_sums(DSSFecesStr)>=20, DSSFecesStr)
#Check for samples with no taxa associated with them (checking for empty samples, result should be FALSE)
any(sample_sums(DSSFecesStr)==0)
## [1] FALSE
#Check for any OTUs which are not present in any samples (Also should be FALSE)
any(taxa_sums(DSSFecesStr)==0)
## [1] FALSE
#Filtering infrequently seen taxa (taxa which are not seen more than once in 1-3% of samples). Percentage should be determined based on the number of samples in each dataset; my datasets range from having ~40 to ~90 samples. This roughly translates to removing taxa which are only seen once in one sample: (1/nsamples)*100 = percent.
#Essentially, this step is to try and remove zeros in the dataset. Zeros make steps in statistical processing & normalization more difficult later in DESeq2.
#DSSFecesStr
DSSFecesStr
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1192 taxa and 93 samples ]
## sample_data() Sample Data: [ 93 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 1192 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1192 tips and 1190 internal nodes ]
#This dataset has 93 samples; remove taxa not seen more than once in 1.1% of samples (not seen more than once in 1 sample)
DSSFecesStr_filter <- filter_taxa(DSSFecesStr, function(x) sum(x>1) > (0.011*length(x)), TRUE)
DSSFecesStr_filter
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1158 taxa and 93 samples ]
## sample_data() Sample Data: [ 93 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 1158 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1158 tips and 1156 internal nodes ]
#~30 rare taxa removed
#------------BACKUPS--------------#
#Because making oopsies is a thing
DSSFecesStr_filter0 <- DSSFecesStr_filter
#Creating subsets of data to reduce the number of timepoints on R graphs (reduce noise)
#Edits of DSS Feces Data
#Removing Base2 from DSS Feces Data (unnecessary, there is a Base1)
DSSFecesStr_sub <- subset_samples(DSSFecesStr_filter, Time!="Base2")
DSSFecesStr_sub
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1158 taxa and 85 samples ]
## sample_data() Sample Data: [ 85 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 1158 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1158 tips and 1156 internal nodes ]
#Make a copy of the original phyloseq data, in case
DSSFecesStr_sub0 <- DSSFecesStr_sub
#Having fun with color palettes (making palettes which are both pleasing to look at and which make it easy to distinguish blocks in a barchart). tol21rainbow is a 21 color palette, based on Paul Tol's Technical note. Subsequent palettes are iterations of similar palettes from his document: https://personal.sron.nl/~pault/colourschemes.pdf. First number after palette denotes the number of different colors, second number denotes the total number of values in the palette (i.e., for palette8.32 8 different colors are used, but they are repeated 4 times each to make it possible to show 32 colors at once).
#21 colors, repeated 4 times
tol84rainbow=c("#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#117744", "#44AA77", "#88CCAA", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788", "#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#117744", "#44AA77", "#88CCAA", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788", "#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#117744", "#44AA77", "#88CCAA", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788", "#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#117744", "#44AA77", "#88CCAA", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788", "#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD")
#18 colors
pal18 <- c("#771155", "#AA4488", "#CC99BB", "#114477", "#4477AA", "#77AADD", "#117777", "#44AAAA", "#77CCCC", "#777711", "#AAAA44", "#DDDD77", "#774411", "#AA7744", "#DDAA77", "#771122", "#AA4455", "#DD7788")
#Make a small palette of 6 distinct colors.
smol.pal=c("#332288", "#88CCEE", "#117733", "#DDCC77", "#CC6677", "#AA4499")
smol=c("#88CCEE", "#CC6677")
#12 colors, repeated 6 times
palette12.72=c("#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499", "#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499", "#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499", "#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499", "#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499", "#332288", "#6699CC", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#661100", "#CC6677", "#AA4466", "#882255", "#AA4499")
#8 colors, repeated 4 times.
palette8.32=c("#332288", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#CC6677", "#AA4499", "#332288", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#CC6677", "#AA4499", "#332288", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#CC6677", "#AA4499", "#332288", "#88CCEE", "#44AA99", "#117733", "#999933", "#DDCC77", "#CC6677", "#AA4499")
##Minimally cleaning data prior to alpha diversity analysis, as recommended and shown on phyloseq webpage.
##Using the dataset which contains all OTUs, even singletons and doubletons.
##Check for any empty samples; outcome should be "FALSE"
any(sample_sums(DSSFecesAll)==0)
## [1] FALSE
#No empty samples; AKA all samples have OTUs associated with them.
##Check for any taxa which are not present in any samples, which the above step should have removed. Outcome should be "FALSE"
any(taxa_sums(DSSFecesAll)==0)
## [1] FALSE
#As there are no samples which contain no OTUs, and no OTUs which are not present in any sample, this dataset and the original .biom file are suitable for alpha diversity analysis. No further cleaning is needed for alpha diversity.
#Must create a MetaCommunity object to begin assessments of coverage, entropy, and diversity. MetaCommunity object consists of a dataframe in which species are listed in rows and communities are listed in columns, where data is presented in abundance or percentage format (abundances are necessary for assessment of coverage), and a vector consisting of community weights (you can weigh certain communities more, if so desired).
#------------Using entropart on ALL OTUs present-------------#
##While diversity metrics may be skewed when spuriously generated OTUs are present, including all OTUs and using a metric which does not weight rare OTUs as heavily is still probably the most appropriate route to go in order to estimate diversity and richness.
##Extracting counts from biom file so that abundance values may be used.
##First, read in biom file and convert to biom-class object.
all.otus_biom.class <- read_biom("dss.feces/feces_otus_all/feces_otus_fixed_all/otu_table_mc1_w_tax_no_pynast_failures.biom")
## Warning in strsplit(msg, "\n"): input string 1 is invalid in this locale
##Convert biom-class object to a matrix
all.otus_counts <- as.matrix(biom_data(all.otus_biom.class))
##Write a CSV file which can be manipulated in Excel.
write.csv(all.otus_counts, file="dss.feces/20170109_entropart_all.otus_abundances.csv")
##Abundance CSV file adapted from qiime output biom file. Columns are "Communities" given by barcode number, while rows are OTUs. Data are represented as counts of each OTU. Changed name of first column to "Species."
all.otus_abund <- read.csv(file="dss.feces/20170109_entropart_all.otus_abundances.csv")
##CSV file adapted from previous one, first column contains a list of all community names (barcode numbers) and is labelled "Communities" while the second column contains a list of weights given to each community (here, all are given equal weight, 1). Second column should be titled "Weight."
is.matrix(all.otus_abund)
## [1] FALSE
dssfeces_weights <- read.csv(file="dss.feces/20171205_entropart_dss.feces_L6_weights.csv")
##Combine the CSV files into a metacommunity file:
##Gives warning that Chao estimator is returned.
all.otus_metacomm <- MetaCommunity(all.otus_abund, dssfeces_weights)
## Warning in FUN(newX[, i], ...): Zhang-Huang sample coverage cannot be
## estimated because one probability is over 1/2. Chao estimator is returned.
#all.otus_div.dist <- DivEst(all.otus_metacomm, q=1, Biased = FALSE, Correction = "Best", Simulations = 100)
#plot(all.otus_div.dist)
##As running entropart while considering each barcoded sample to be a community gets confusing and doesn't provide much information, I will be organizing samples in the dataset by "TrialTime."
##entropart requires an adjusted count file, so I will first merge in phyloseq, extract the new OTU count table, transpose the matrix to the correct format for entropart, and then rename the columns to fit what is required for entropart.
##Merging samples by Time. NOTE: This merge will sum OTU abundances.
AllMerged.trialtime <- merge_samples(DSSFecesAll, group="TrialTime")
##Export OTU table from the phyloseq object
AllMerged.trialtime.otus <- otu_table(AllMerged.trialtime)
is.matrix(AllMerged.trialtime.otus)
## [1] TRUE
##The OTU table created is a matrix
##Transpose data so that taxa are in rows and sample names are columns.
AllMerged.trialtime.otus <- t(AllMerged.trialtime.otus)
head(AllMerged.trialtime.otus)
## OTU Table: [6 taxa and 14 samples]
## taxa are rows
## DSS_Base1 DSS_Base2 DSS_Day1 DSS_Day10
## New.CleanUp.ReferenceOTU1441 0 0 0 0
## New.CleanUp.ReferenceOTU5131 0 0 0 0
## New.CleanUp.ReferenceOTU13653 0 0 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 1
## New.CleanUp.ReferenceOTU23425 0 0 0 0
## New.CleanUp.ReferenceOTU10108 0 0 0 0
## DSS_Day2 DSS_Day3 DSS_Day4 DSS_Day5 DSS_Day6
## New.CleanUp.ReferenceOTU1441 0 0 0 0 1
## New.CleanUp.ReferenceOTU5131 0 0 0 0 1
## New.CleanUp.ReferenceOTU13653 1 0 0 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 0 1
## New.CleanUp.ReferenceOTU10108 0 0 2 0 0
## DSS_Day7 DSS_Day8 DSS_Day9 FF_Base1 FF_Day10
## New.CleanUp.ReferenceOTU1441 0 0 0 0 0
## New.CleanUp.ReferenceOTU5131 0 0 0 0 0
## New.CleanUp.ReferenceOTU13653 0 0 0 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 0 0
## New.CleanUp.ReferenceOTU10108 0 0 0 0 0
##Remove Base2 and FF data.
AllMerged.trialtime.otus <- AllMerged.trialtime.otus[, -c(2,13,14)]
head(AllMerged.trialtime.otus)
## OTU Table: [6 taxa and 11 samples]
## taxa are rows
## DSS_Base1 DSS_Day1 DSS_Day10 DSS_Day2
## New.CleanUp.ReferenceOTU1441 0 0 0 0
## New.CleanUp.ReferenceOTU5131 0 0 0 0
## New.CleanUp.ReferenceOTU13653 0 0 0 1
## New.CleanUp.ReferenceOTU6313 0 0 1 0
## New.CleanUp.ReferenceOTU23425 0 0 0 0
## New.CleanUp.ReferenceOTU10108 0 0 0 0
## DSS_Day3 DSS_Day4 DSS_Day5 DSS_Day6 DSS_Day7
## New.CleanUp.ReferenceOTU1441 0 0 0 1 0
## New.CleanUp.ReferenceOTU5131 0 0 0 1 0
## New.CleanUp.ReferenceOTU13653 0 0 0 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 1 0
## New.CleanUp.ReferenceOTU10108 0 2 0 0 0
## DSS_Day8 DSS_Day9
## New.CleanUp.ReferenceOTU1441 0 0
## New.CleanUp.ReferenceOTU5131 0 0
## New.CleanUp.ReferenceOTU13653 0 0
## New.CleanUp.ReferenceOTU6313 0 0
## New.CleanUp.ReferenceOTU23425 0 0
## New.CleanUp.ReferenceOTU10108 0 0
##Remove some timepoints to make analysis simpler. Keeping Baseline, Early DSS (Day 2), Mid DSS (Day 4), Late DSS (Day 6), Post-DSS (Day 8), and Healed (Day 10).
AllMerged.trialtime.otus.sub <- AllMerged.trialtime.otus[, -c(2,5,7,9,11)]
head(AllMerged.trialtime.otus.sub)
## OTU Table: [6 taxa and 6 samples]
## taxa are rows
## DSS_Base1 DSS_Day10 DSS_Day2 DSS_Day4
## New.CleanUp.ReferenceOTU1441 0 0 0 0
## New.CleanUp.ReferenceOTU5131 0 0 0 0
## New.CleanUp.ReferenceOTU13653 0 0 1 0
## New.CleanUp.ReferenceOTU6313 0 1 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 0
## New.CleanUp.ReferenceOTU10108 0 0 0 2
## DSS_Day6 DSS_Day8
## New.CleanUp.ReferenceOTU1441 1 0
## New.CleanUp.ReferenceOTU5131 1 0
## New.CleanUp.ReferenceOTU13653 0 0
## New.CleanUp.ReferenceOTU6313 0 0
## New.CleanUp.ReferenceOTU23425 1 0
## New.CleanUp.ReferenceOTU10108 0 0
##Reorder the columns of the matrix to place Day10 at the end.
col.order <- c("DSS_Base1", "DSS_Day2", "DSS_Day4", "DSS_Day6", "DSS_Day8", "DSS_Day10")
AllMerged.trialtime.otus.sub <- AllMerged.trialtime.otus.sub[,col.order]
head(AllMerged.trialtime.otus.sub)
## OTU Table: [6 taxa and 6 samples]
## taxa are rows
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6
## New.CleanUp.ReferenceOTU1441 0 0 0 1
## New.CleanUp.ReferenceOTU5131 0 0 0 1
## New.CleanUp.ReferenceOTU13653 0 1 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 1
## New.CleanUp.ReferenceOTU10108 0 0 2 0
## DSS_Day8 DSS_Day10
## New.CleanUp.ReferenceOTU1441 0 0
## New.CleanUp.ReferenceOTU5131 0 0
## New.CleanUp.ReferenceOTU13653 0 0
## New.CleanUp.ReferenceOTU6313 0 1
## New.CleanUp.ReferenceOTU23425 0 0
## New.CleanUp.ReferenceOTU10108 0 0
##Must also create a "Weights" file for entropart. First column should contain a list of all community names (here, "Time" variables) and should be called "Communities", and second column should contain a list of community weights and should be called "Weights." In my case, I want all communities to be weighted equally, as this allows for easier application and interpretation of Hill numbers (read Jost, 2007)
##NOTE: The column names must be EXACT. Otherwise you will be miserable figuring out your errors. :)
##Creating a data frame
communities <- c("DSS_Base1", "DSS_Day2", "DSS_Day4", "DSS_Day6", "DSS_Day8", "DSS_Day10")
##If weights are identical regardless of how many pigs are included in time point (this is probably not ideal).
weights <- c(1, 1, 1, 1, 1, 1)
##If weights are equal to the number of individuals sampled for each time point (number of replicate fecal samples, or number of pigs).
weights2 <- c(8, 6, 8, 8, 4, 4)
time.weights <- data.frame(communities, weights)
time.weights2 <- data.frame(communities, weights2)
##Rename columns to fit entropart
colnames(time.weights) <- c("Communities", "Weights")
colnames(time.weights2) <- c("Communities", "Weights")
time.weights
## Communities Weights
## 1 DSS_Base1 1
## 2 DSS_Day2 1
## 3 DSS_Day4 1
## 4 DSS_Day6 1
## 5 DSS_Day8 1
## 6 DSS_Day10 1
time.weights2
## Communities Weights
## 1 DSS_Base1 8
## 2 DSS_Day2 6
## 3 DSS_Day4 8
## 4 DSS_Day6 8
## 5 DSS_Day8 4
## 6 DSS_Day10 4
##Play with entropart
##Create a metacommunity of all timepoints
AllMerged.trialtime.MC2 <- MetaCommunity(AllMerged.trialtime.otus.sub, time.weights2)
summary(AllMerged.trialtime.MC2)
## Meta-community (class 'MetaCommunity') made of 325403.5 individuals in 6
## communities and 25185 species.
##
## Its sample coverage is 0.981947995467681
##
## Community weights are:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 0.2105263 0.1578947 0.2105263 0.2105263 0.1052632 0.1052632
## Community sample numbers of individuals are:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 56088 67685 85424 69815 34253 79433
## Community sample coverages are:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 0.9683180 0.9643351 0.9635117 0.9685744 0.9688791 0.9791650
##The following command takes up too much space when knitting as .html, best to comment out before knitting.
#head(AllMerged.trialtime.MC2)
##Create a distribuition of overall diversity estimates in the metacommunity
AllMerged.trialtime_div.dist <- DivEst(AllMerged.trialtime.MC2, q=1, Biased = FALSE, Correction = "Best", Simulations = 100)
## ===========================================================================
summary(AllMerged.trialtime_div.dist)
## Diversity partitioning of order 1 of MetaCommunity AllMerged.trialtime.MC2
## with correction: Best
## Alpha diversity of communities:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 385.3869 143.4535 354.9114 195.0408 164.0129 277.3227
## Total alpha diversity of the communities:
## [1] 247.8752
## Beta diversity of the communities:
## ChaoWangJost
## 1.716638
## Gamma diversity of the metacommunity:
## ChaoWangJost
## 425.5122
## Quantiles of simulations (alpha, beta and gamma diversity):
## 0% 1% 2.5% 5% 10% 25% 50% 75%
## 245.5234 245.8783 246.0866 246.2905 246.6732 247.2906 247.7337 248.5688
## 90% 95% 97.5% 99% 100%
## 249.1584 249.4285 250.1207 250.4030 250.4516
## 0% 1% 2.5% 5% 10% 25% 50% 75%
## 1.710750 1.712825 1.712951 1.713381 1.713860 1.714833 1.716788 1.718068
## 90% 95% 97.5% 99% 100%
## 1.719522 1.720356 1.720906 1.721632 1.721810
## 0% 1% 2.5% 5% 10% 25% 50% 75%
## 420.6492 422.0489 422.2794 422.9357 423.1951 424.4816 425.3589 426.7986
## 90% 95% 97.5% 99% 100%
## 427.9168 428.8192 429.3377 429.9914 430.7318
plot(AllMerged.trialtime_div.dist)
#Adjusting the weights based on the number of individuals in each group helped balance the coverage.
##Determine Alpha Diversity:
alphadiv0 <- AlphaDiversity(AllMerged.trialtime.MC2, q=0, Correction="Best", Tree = NULL, Normalize = TRUE, CheckArguments = TRUE, Z=NULL)
summary(alphadiv0)
## Neutral alpha diversity of order 0 of metaCommunity
## AllMerged.trialtime.MC2 with correction: Best
##
## Diversity of communities:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 6554.037 8642.364 10943.474 7902.553 4165.522 6311.091
## Average diversity of the communities:
## [1] 7814.767
alphadiv1 <- AlphaDiversity(AllMerged.trialtime.MC2, q=1, Correction="Best", Tree = NULL, Normalize = TRUE, CheckArguments = TRUE, Z=NULL)
summary(alphadiv1)
## Neutral alpha diversity of order 1 of metaCommunity
## AllMerged.trialtime.MC2 with correction: Best
##
## Diversity of communities:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 385.3869 143.4535 354.9114 195.0408 164.0129 277.3227
## Average diversity of the communities:
## [1] 247.8752
alphadiv2 <- AlphaDiversity(AllMerged.trialtime.MC2, q=2, Correction="Best", Tree = NULL, Normalize = TRUE, CheckArguments = TRUE, Z=NULL)
summary(alphadiv2)
## Neutral alpha diversity of order 2 of metaCommunity
## AllMerged.trialtime.MC2 with correction: Best
##
## Diversity of communities:
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6 DSS_Day8 DSS_Day10
## 69.57091 11.83953 49.24347 17.65013 22.81309 63.21180
## Average diversity of the communities:
## [1] 25.74356
##Alpha diversity drops quite quickly with DSS treatment, increases by the middle of treatment, drops again, and then picks up again with healing, when considering richness.
##When considering the number of dominant species (Simpson diversity), alpha diversiy is highest at baseline, then next highest is day 10, after healing. Perhaps there is restoration of the microbiota.
##Calculate a diversity Profile
AllMerged.trialtime_dp <- DivProfile(seq(0,2,0.1), AllMerged.trialtime.MC2)
##Alpha diversity from highest to lowest: Baseline, Day 10, Day 4, Day 6, Day 8, Day 2.
##Over 15,000 effective species across 3.5 effective communities, each community on average consisting of around 5000 effective species.
##Saving plots as .TIFF images
##Saving images from alpha diversity determination.
tiff("alphadiv0.tiff", height=6, width=12, units="in", res=600)
plot(alphadiv0, main="Total Number of Species (Richness, q = 0)", xlab="Day of Study", sub="Alpha Diversity in Feces from DSS-treated Pigs")
while (!is.null(dev.list())) dev.off()
tiff("alphadiv1.tiff", height=6, width=12, units="in", res=600)
plot(alphadiv1, main="Effective Number of Common Species (q = 1)", xlab="Day of Study", sub="Alpha Diversity in Feces from DSS-treated Pigs")
while (!is.null(dev.list())) dev.off()
tiff("alphadiv2.tiff", height=6, width=12, units="in", res=600)
plot(alphadiv2, main="Effective Number of Dominant Species (q = 2)", xlab="Day of Study", sub="Alpha Diversity from DSS-treated Pigs")
while (!is.null(dev.list())) dev.off()
##Saving Diveristy Profile Plots
tiff("diversity.profile.tiff", height=6, width=12, units="in", res=600)
plot(AllMerged.trialtime_dp)
while (!is.null(dev.list())) dev.off()
##iNEXT, developed by T.C. Hsieh et al and published in 2016, also allows for determination of Hill diversity numbers as well as greater flexibility in graphical analysis. Its benefits also include an algorithm to not only show rarefaction curves, but what are called "extrapolation" curves (together, an R/E curve).
##First, install and load the necessary libraries
library(iNEXT)
##iNEXT allows for three types of datasets, but the one which seemed most applicable here was datatype="abundance". In this case, data may be included as a matrix of S species by N assemblages, which seems much like an OTU count table. I will attempt to use the merged OTU tables extracted from phyloseq objects to run iNEXT.
##Have the same starting OTU count matrix as used with entropart.
##Convert Matrix to a Data frame
AllMerged.trialtime.otu.sub.df <- as.data.frame(AllMerged.trialtime.otus.sub)
head(AllMerged.trialtime.otu.sub.df) #taxa are rows
## DSS_Base1 DSS_Day2 DSS_Day4 DSS_Day6
## New.CleanUp.ReferenceOTU1441 0 0 0 1
## New.CleanUp.ReferenceOTU5131 0 0 0 1
## New.CleanUp.ReferenceOTU13653 0 1 0 0
## New.CleanUp.ReferenceOTU6313 0 0 0 0
## New.CleanUp.ReferenceOTU23425 0 0 0 1
## New.CleanUp.ReferenceOTU10108 0 0 2 0
## DSS_Day8 DSS_Day10
## New.CleanUp.ReferenceOTU1441 0 0
## New.CleanUp.ReferenceOTU5131 0 0
## New.CleanUp.ReferenceOTU13653 0 0
## New.CleanUp.ReferenceOTU6313 0 1
## New.CleanUp.ReferenceOTU23425 0 0
## New.CleanUp.ReferenceOTU10108 0 0
##Create a list of sizes to test iNEXT R/E algorithm
##It is important to limit the sized, because this algorithm takes an incredibly long time. Hours, at least.
sizes <- c(1, 5, 10, 25, 50, 75, 100, 250, 500, 1000, 1500, 3000, 5000, 10000, 20000, 50000)
##Below is the command to run iNEXT. After running, comment out so that R doesn't keep trying to run such a huge algorithm.
AllMerged.trialtime.inext <- iNEXT(AllMerged.trialtime.otu.sub.df, q=c(0, 1, 2), datatype="abundance", size=sizes)
##Plot output from iNEXT
##Three plot types are possible. type=1 indicates a plot from sample-size based R/E curve. type=2 indicates sample completedness curve. type=3 indicates a coverage-based R/E curve.
##for facet.var and color.var, only 4 options are possible. "none" indicates no faceting or coloring based on sample characteristics. "order" indicates faceting or coloring based on q, the order of diversity. "site" indicates coloring or faceting based on the sample variable (here, timepoints). "both" indicates faceting or coloring based on both criteria at once (separate plots and/or colors for both q and data variable)
##Because these plots are based in ggplot2, they may be further manipulated as such. For more details, please see the vignette for iNEXT, section "Hacking ggiNEXT()" at: https://cran.r-project.org/web/packages/iNEXT/vignettes/Introduction.html
iNEXT.plot.1 <- ggiNEXT(AllMerged.trialtime.inext, type=1, se=TRUE, facet.var="order", color.var="site") + facet_wrap(~order, scales="free") + ggtitle("Effective Number of Species with Increasing Sampling Effort")
iNEXT.plot.1
#Lots of total species at day 4 compared to day 10 and baseline, but based on Shannon diversity, fewer of those species could be considered "common" or dominant. During DSS treatment, there tends to be reduced diversity, and even fewer common or dominant species than during healing time points in which total richness is reduced.
iNEXT.plot.2 <- ggiNEXT(AllMerged.trialtime.inext, type=2, se=TRUE, facet.var="order", color.var="site") + facet_wrap(~order, scales="free") + ggtitle("Sample Coverage with Increasing Sampling Effort")
iNEXT.plot.2
iNEXT.plot.3 <- ggiNEXT(AllMerged.trialtime.inext, type=3, se=TRUE, facet.var="order", color.var="site") + facet_wrap(~order, scales="free") + ggtitle("Effective Number of Species with Increasing Coverage")
iNEXT.plot.3
##At q=2, all lines are starting to plateau, indicating that we found most of the dominant species. However, it appears that a lot of common and rare species were probably missed.
##Save plot images
tiff("iNEXT.plot.1.tiff", height=6, width=12, units="in", res=600)
iNEXT.plot.1
while (!is.null(dev.list())) dev.off()
tiff("iNEXT.plot.2.tiff", height=6, width=12, units="in", res=600)
iNEXT.plot.2
while (!is.null(dev.list())) dev.off()
tiff("iNEXT.plot.3.tiff", height=6, width=12, units="in", res=600)
iNEXT.plot.3
while (!is.null(dev.list())) dev.off()
Using Raw counts of each OTU, determine the “core” microbiome and then convert into relative abundance values. While this may not necessarily be the “most appropriate” manipulation of the data because counts are not truly normalized, it provides a good starting point to determine which microbes are present and which ones should be different later on.
Relative Abundance diagrams with data that has been normalized and log2 transformed is included further on.
##More information on the microbiome R package may be found in the vignette: https://bioconductor.org/packages/3.7/bioc/vignettes/microbiome/inst/doc/vignette.html
library(microbiome)
#To generate relative abundance of the core microbiome, I first combine counts (via computing a mean; summation may also work) within specific groups of the phyloseq object. Then, a core microbiome is constructed based on a minimum percentage of detection and prevalence across samples. Finally, the relative abundance of each OTU within the core microbiome is computed and graphed.
##Previously, I made a core microbiome after transforming mean sample counts into relative abundances, which I'm not sure was accurate in hindsight. Should determine core based on reads, then transform into relative abundances
#Merging OTUs for DSS Feces, using the mean counts for each taxa instead of a sum. There is no difference between mean and sum in terms of the final graph.
merge.mean.trialtime <- merge_samples(DSSFecesStr, "TrialTime", fun=mean)
merge.mean.trialtime
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 1192 taxa and 14 samples ]
## sample_data() Sample Data: [ 14 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 1192 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 1192 tips and 1190 internal nodes ]
#Core microbiome is defined by a particular detection level (here, 1% detection required), and a threshold for prevalence (here, taxa must be 50% prevalent to be shown).
#Prevalence theshold is the proportion of the samples in which a taxon must be detected for it to be included in the core. This parameter has a greater effect on the number of taxa included in the core than the detection threshold.
#Detection threshold is the relative abundance at which a taxon must be detected for it to be considered "present." Also termed the compositional abundance threshold. A taxon must make up at least this percent of the sample to be included. This appears to have no effect on the core microbiome output, at least for this dataset, as samples with <1% relative abundance are still included in the listed output (but not in the plot).
#Make a core microbiome for DSS Feces (From Merged Mean)
trialtime_core <- core(merge.mean.trialtime, detection=2/100, prevalence=75/100)
trialtime_core.rel <- transform(trialtime_core, "compositional") #transforms into relative abundance
trialtime_core.rel # with 1% detection and 75% prevalence, 744 taxa retained out of 1192.
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 744 taxa and 14 samples ]
## sample_data() Sample Data: [ 14 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 744 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 744 tips and 742 internal nodes ]
head(prevalence(trialtime_core.rel, detection = 2/100, sort = TRUE)) # many taxa still make up less than 1% relative abundance.
## 780650 New.ReferenceOTU10 New.ReferenceOTU126
## 1.0000000 0.9285714 0.5000000
## 347529 349024 New.ReferenceOTU281
## 0.4285714 0.4285714 0.3571429
#plotting core microbiome for DSS Feces (Order)
dssfeces.core_plot <- plot_bar(trialtime_core.rel, fill="Order", title="Relative Abundance in Feces at Order Level") + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Base2", "DSS_Day1", "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1", "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + xlab("Time Point") + ylab("Relative Abundance")
dssfeces.core_plot
#plot core microbiome at Family level
dssfeces.core_plot_fam <- plot_bar(trialtime_core.rel, fill="Family", title="Relative Abundance in Feces at Family Level") + geom_bar(aes(color=Family, fill=Family), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_fill_manual(values=tol84rainbow) + scale_color_manual(values=tol84rainbow) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Base2", "DSS_Day1", "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1", "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + xlab("Time Point") + ylab("Relative Abundance")
dssfeces.core_plot_fam
##Saving plots
tiff("dss.feces.core_plot_ord.tiff", height=6, width=12, units="in", res=600)
dssfeces.core_plot
while (!is.null(dev.list())) dev.off()
tiff("dss.feces.core_plot_fam.tiff", height=6, width=12, units="in", res=600)
dssfeces.core_plot_fam
while (!is.null(dev.list())) dev.off()
Creating a DESeq2 dataset for normalization, differential abundance analysis.
##Normalized data is useful for inputs into clustering algorithms or LDA analysis (think PCoA plots, B-diversity, Unifrac, LEfSe, etc.). However, these outputs should NOT be used for differential abundance (DA) analysis. Instead, outputs from DA testing (i.e., using nbinomWaldTest in DESeq2) should come from raw count data.
library(DESeq2)
library(ggplot2)
library(phyloseq)
##Manipulating dataset for DESeq2 transformation
##Can convert phyloseq object to DESeq2, or can input a matrix of counts.
##Choose design parameter carefully based on what you will be comparing.
DSSFecesStr_deseq <- phyloseq_to_deseq2(DSSFecesStr, design = ~ TrialTime)
## converting counts to integer mode
colData(DSSFecesStr_deseq)
## DataFrame with 93 rows and 7 columns
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time
## <factor> <factor> <factor> <factor> <factor>
## 133 133 AGTCACTG GTGTGCCAGCMGCCGCGGTAA DSS Day7
## 132 132 AGCTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Day10
## 131 131 AGCACTTG GTGTGCCAGCMGCCGCGGTAA DSS Day10
## 55 55 ACTGCACA GTGTGCCAGCMGCCGCGGTAA DSS Day5
## 54 54 ACTCGACA GTGTGCCAGCMGCCGCGGTAA DSS Day5
## ... ... ... ... ... ...
## 47 47 ACTGAGTC GTGTGCCAGCMGCCGCGGTAA DSS Day4
## 62 62 ACTCGAGT GTGTGCCAGCMGCCGCGGTAA DSS Day6
## 17 17 ACACAGAG GTGTGCCAGCMGCCGCGGTAA DSS Day1
## 15 15 ACTCTGTC GTGTGCCAGCMGCCGCGGTAA DSS Base2
## 14 14 ACTCAGAC GTGTGCCAGCMGCCGCGGTAA DSS Base2
## TrialTime Description
## <factor> <factor>
## 133 DSS_Day7 DSS_30-5_Rectum_d7
## 132 DSS_Day10 DSS_30-4_Rectum_d10
## 131 DSS_Day10 DSS_29-14_Rectum_d10
## 55 DSS_Day5 DSS_30-5_Day5_d7
## 54 DSS_Day5 DSS_30-4_Day5_d10
## ... ... ...
## 47 DSS_Day4 DSS_30-5_Day4_d7
## 62 DSS_Day6 DSS_30-4_Day6_d10
## 17 DSS_Day1 DSS_29-8_Day1_d7
## 15 DSS_Base2 DSS_30-7_Base2_d10
## 14 DSS_Base2 DSS_30-5_Base2_d7
##Check for sparsity (too many zeros in dataset)
plotSparsity(DSSFecesStr_deseq, normalized = FALSE)
##Use geometric means to remove excess sparsity, if necessary
##Should not be as much sparsity in stringently filtered dataset.
gm_mean = function(x, na.rm=TRUE){
exp(sum(log(x[x > 0]), na.rm=na.rm) / length(x))
}
geoMeans = apply(counts(DSSFecesStr_deseq), 1, gm_mean)
DSSFecesStr_deseq = estimateSizeFactors(DSSFecesStr_deseq, geoMeans = geoMeans)
##Use the DESeq function to estimate size factors and a dispersions for the dataset. You can avoid the removal of too many outliers from the dataset with "minReplicatesForReplace=Inf"
##Previously, I've used fitType="local" and test="Wald". This time, I will try fitType="parametric", which uses a different type of model with coefficients based on dispersion in the dataset. Test="Wald" ensures that an nbinomWaldTest is used.
DSSFecesStr_deseq <- DESeq(DSSFecesStr_deseq, test="Wald", fitType = "parametric", minReplicatesForReplace = Inf, quiet=FALSE)
## using pre-existing size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
DESeq2 allows for two forms of normalization: VST and rlog. VST is Variance Stabilizing Transformation, while rlog is regularized logarithm transformation. Neither of these methods is used for differential abundance analysis, only for PCoA plotting.
##Transform the datasets to remove variance (reduce heteroscedasticity, which occurs when variance surpasses the mean). These outputs may be used for clustering (i.e., weighted Unifrac), or linear discriminant analysis (LDA, as which occurs with LEfse).
##In all cases, set blind=FALSE so that output depends on factors in metadata.
##Create a variance stabilizing transformation (VST), by dividing counts by the size/normalization factors determined above, also normalizing with respect to library size.
#DSSFecesStr_vst <- varianceStabilizingTransformation(DSSFecesStr_deseq, blind=FALSE)
DSSFecesStr_vst <- getVarianceStabilizedData(DSSFecesStr_deseq)
#head(assay(DSSFecesStr_vst))
#lots of negative values which may be difficult to interpret.
##Perform an rlog (regularized logarithm) transformation
##rlog is less sensitive to size factors, making it more robust when size factors vary (?) Confusing note in documentation; documentation for VST says that the decreased sensitivity with rlog may be an issue if size factors vary widely, while documentation for rlog says it is more robust in this case.
##original count data is transformed to log2 using a shrinkage model; genes (OTUs) with low counts tend to have higher dispersion, and these undergo more shrinkage to stabilize heteroskedasticity. rlog also accounts for differences in sequencing depth.
DSSFecesStr_rlog <- rlogTransformation(DSSFecesStr_deseq, blind=FALSE)
head(DSSFecesStr_rlog)
## class: DESeqTransform
## dim: 6 93
## metadata(1): version
## assays(1): ''
## rownames(6): New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... 360329
## New.CleanUp.ReferenceOTU20966
## rowData names(70): baseMean baseVar ... maxCooks rlogIntercept
## colnames(93): 133 132 ... 15 14
## colData names(8): X.SampleID BarcodeSequence ... Description
## sizeFactor
#Still lots of negative values which may make interpretation difficult.
##Extract values from rlog matrix, from a DESeqTransform object.
DSSFecesStr_rlog.matrix <- assay(DSSFecesStr_rlog)
Creating MRExperiment objects for running metagenomeSeq
##Install and load metagenomeSeq
#source("https://bioconductor.org/biocLite.R")
#biocLite("metagenomeSeq")
##Loading library
library(metagenomeSeq)
##Most of the commands run here are derived from the metagenomeSeq Vignette. To find additional information and calls for a particular command, refer to the github page for metagenomeSeq, found here: https://github.com/HCBravoLab/metagenomeSeq/tree/master/R. For more infomation and a more detailed explanation of metagenomeSeq's CSS normalization and DA testing, see the online methods in Paulson et. al, 2013 (Nature Methods) paper.
##Decided to load the unmerged data so that more analyses and comparisons could be run using the metadata available. Groups may be combined later on.
#read in OTU count matrix
str.otus <- otu_table(DSSFecesStr)
head(str.otus)
## OTU Table: [6 taxa and 93 samples]
## taxa are rows
## 133 132 131 55 54 69 21 66 405 317 48 24 8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 0 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0
## 6 85 29 44 4 82 81 72 31 86 20 19 63 70 84
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 4 3 3 0 0 3 0 0 0 1 1 4 0 0
## New.ReferenceOTU33 0 4 0 6 0 0 2 47 0 0 0 0 0 0 1
## New.ReferenceOTU122 0 6 0 0 0 2 36 0 0 2 0 0 5 7 0
## 360329 3 2 1 0 7 0 0 8 0 0 0 0 2 0 33
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 0 0 0 0 0 0 0 5
## 38 134 16 35 10 13 57 398 197 27 37 83 2 33
## New.CleanUp.ReferenceOTU10212 0 2 2 0 0 0 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 1 0 1 4 0 0 0 0 14 4 11 0 0
## New.ReferenceOTU33 0 5 0 0 0 0 0 0 5 0 1 1 0 0
## New.ReferenceOTU122 0 3 3 1 0 0 1 0 0 0 1 1 0 5
## 360329 0 0 0 0 0 0 0 3 0 6 1 0 16 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 0 0 1 0 0 1 0
## 71 68 65 1 130 206 243 135 36 5 67 3 41 7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 2 0 0 0 16 0 0 0 1 0 12 0 0 0
## New.ReferenceOTU33 0 16 0 10 0 0 3 0 1 3 4 14 0 0
## New.ReferenceOTU122 0 0 10 0 0 0 0 2 1 0 0 0 1 0
## 360329 2 12 0 0 0 0 3 0 1 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 0 1 0 3 0 0 0 0 2 1 0 0 0 1
## 45 60 51 49 235 218 23 46 25 247 248 128 43
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 12 0 2 0 0 0 1 0 0 0 5 1
## New.ReferenceOTU33 16 0 0 3 0 6 0 0 0 2 2 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0 0 0 0 0 0
## 360329 0 15 4 0 0 0 0 0 0 0 7 2 3
## New.CleanUp.ReferenceOTU20966 0 0 0 1 0 1 0 0 0 0 2 6 0
## 39 129 53 388 50 61 56 12 58 22 30 11 9 18
## New.CleanUp.ReferenceOTU10212 0 0 0 33 0 0 0 0 0 1 2 0 0 0
## New.CleanUp.ReferenceOTU31068 4 2 0 0 10 0 0 2 1 4 4 0 0 0
## New.ReferenceOTU33 5 0 0 0 26 5 0 0 0 2 5 0 0 0
## New.ReferenceOTU122 0 1 2 15 0 1 7 1 0 6 6 0 1 2
## 360329 0 13 9 0 7 7 0 0 23 2 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 1 0 0 0 0 0 1 4 12 0 0 0
## 42 59 40 52 34 47 62 17 15 14
## New.CleanUp.ReferenceOTU10212 0 0 2 0 0 0 4 0 0 0
## New.CleanUp.ReferenceOTU31068 10 2 0 11 9 6 0 0 0 6
## New.ReferenceOTU33 24 0 0 19 0 1 0 0 0 0
## New.ReferenceOTU122 0 0 2 0 1 7 40 0 0 4
## 360329 0 0 0 0 0 0 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 1 0 0
#Read in phylogenetic information
str.tax <- tax_table(DSSFecesStr)
head(str.tax)
## Taxonomy Table: [6 taxa by 7 taxonomic ranks]:
## Kingdom Phylum
## New.CleanUp.ReferenceOTU10212 "k__Bacteria" "p__Firmicutes"
## New.CleanUp.ReferenceOTU31068 "k__Bacteria" "p__Firmicutes"
## New.ReferenceOTU33 "k__Bacteria" "p__Firmicutes"
## New.ReferenceOTU122 "k__Bacteria" "p__Firmicutes"
## 360329 "k__Bacteria" "p__Firmicutes"
## New.CleanUp.ReferenceOTU20966 "k__Bacteria" "p__Firmicutes"
## Class Order
## New.CleanUp.ReferenceOTU10212 "c__Clostridia" "o__Clostridiales"
## New.CleanUp.ReferenceOTU31068 "c__Clostridia" "o__Clostridiales"
## New.ReferenceOTU33 "c__Clostridia" "o__Clostridiales"
## New.ReferenceOTU122 "c__Clostridia" "o__Clostridiales"
## 360329 "c__Clostridia" "o__Clostridiales"
## New.CleanUp.ReferenceOTU20966 "c__Clostridia" "o__Clostridiales"
## Family Genus Species
## New.CleanUp.ReferenceOTU10212 "f__Lachnospiraceae" "g__" "s__"
## New.CleanUp.ReferenceOTU31068 "f__Lachnospiraceae" "g__" "s__"
## New.ReferenceOTU33 "f__Lachnospiraceae" "g__" "s__"
## New.ReferenceOTU122 "f__" "g__" "s__"
## 360329 "f__Lachnospiraceae" "g__" "s__"
## New.CleanUp.ReferenceOTU20966 "f__Lachnospiraceae" "g__" "s__"
#Read in metadata. This is termed "PhenoData" or "pData" in most of metagenomeSeq's documentation.
str.pheno <- "mapping.files/MappingFiles_DSS_feces.txt"
str.pheno <- read.delim(str.pheno)
head(str.pheno)
## X.SampleID
## 1 #Analysis of the Bacteria in Intestinal Contents of 8-Week Old Pigs Fed DSS
## 2 #DSS Trials 2014
## 3 1
## 4 2
## 5 3
## 6 4
## BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 1
## 2
## 3 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 1
## 2
## 3 DSS_29-8_Base1_d7
## 4 DSS_29-11_Base1_d7
## 5 DSS_29-12_Base1_d10
## 6 DSS_29-14_Base1_d10
##need to remove first two rows of str.pheno
str.pheno <- str.pheno[-c(1,2),]
head(str.pheno)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 3 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 7 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 8 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 3 DSS_29-8_Base1_d7
## 4 DSS_29-11_Base1_d7
## 5 DSS_29-12_Base1_d10
## 6 DSS_29-14_Base1_d10
## 7 DSS_30-4_Base1_d10
## 8 DSS_30-5_Base1_d7
##May need to transpose the count matrix.
#str.otus <- t(str.otus)
head(str.otus) # make sure taxa are rows.
## OTU Table: [6 taxa and 93 samples]
## taxa are rows
## 133 132 131 55 54 69 21 66 405 317 48 24 8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 0 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0
## 6 85 29 44 4 82 81 72 31 86 20 19 63 70 84
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 4 3 3 0 0 3 0 0 0 1 1 4 0 0
## New.ReferenceOTU33 0 4 0 6 0 0 2 47 0 0 0 0 0 0 1
## New.ReferenceOTU122 0 6 0 0 0 2 36 0 0 2 0 0 5 7 0
## 360329 3 2 1 0 7 0 0 8 0 0 0 0 2 0 33
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 0 0 0 0 0 0 0 5
## 38 134 16 35 10 13 57 398 197 27 37 83 2 33
## New.CleanUp.ReferenceOTU10212 0 2 2 0 0 0 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 1 0 1 4 0 0 0 0 14 4 11 0 0
## New.ReferenceOTU33 0 5 0 0 0 0 0 0 5 0 1 1 0 0
## New.ReferenceOTU122 0 3 3 1 0 0 1 0 0 0 1 1 0 5
## 360329 0 0 0 0 0 0 0 3 0 6 1 0 16 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 0 0 1 0 0 1 0
## 71 68 65 1 130 206 243 135 36 5 67 3 41 7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 2 0 0 0 16 0 0 0 1 0 12 0 0 0
## New.ReferenceOTU33 0 16 0 10 0 0 3 0 1 3 4 14 0 0
## New.ReferenceOTU122 0 0 10 0 0 0 0 2 1 0 0 0 1 0
## 360329 2 12 0 0 0 0 3 0 1 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 0 1 0 3 0 0 0 0 2 1 0 0 0 1
## 45 60 51 49 235 218 23 46 25 247 248 128 43
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 12 0 2 0 0 0 1 0 0 0 5 1
## New.ReferenceOTU33 16 0 0 3 0 6 0 0 0 2 2 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0 0 0 0 0 0
## 360329 0 15 4 0 0 0 0 0 0 0 7 2 3
## New.CleanUp.ReferenceOTU20966 0 0 0 1 0 1 0 0 0 0 2 6 0
## 39 129 53 388 50 61 56 12 58 22 30 11 9 18
## New.CleanUp.ReferenceOTU10212 0 0 0 33 0 0 0 0 0 1 2 0 0 0
## New.CleanUp.ReferenceOTU31068 4 2 0 0 10 0 0 2 1 4 4 0 0 0
## New.ReferenceOTU33 5 0 0 0 26 5 0 0 0 2 5 0 0 0
## New.ReferenceOTU122 0 1 2 15 0 1 7 1 0 6 6 0 1 2
## 360329 0 13 9 0 7 7 0 0 23 2 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 1 0 0 0 0 0 1 4 12 0 0 0
## 42 59 40 52 34 47 62 17 15 14
## New.CleanUp.ReferenceOTU10212 0 0 2 0 0 0 4 0 0 0
## New.CleanUp.ReferenceOTU31068 10 2 0 11 9 6 0 0 0 6
## New.ReferenceOTU33 24 0 0 19 0 1 0 0 0 0
## New.ReferenceOTU122 0 0 2 0 1 7 40 0 0 4
## 360329 0 0 0 0 0 0 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 1 0 0
##Convert matrices to tab delimited files for data upload, as according to metagenomeSeq vignette.
write.table(str.otus, file="dss.feces/str.otus.txt", sep="\t", row.names = TRUE, col.names = TRUE)
write.table(str.tax, file="dss.feces/str.tax.txt", sep="\t", row.names=TRUE, col.names=TRUE)
##Also try CSV!
write.csv(str.otus, file="dss.feces/str.otus.csv", row.names = TRUE, col.names = TRUE)
## Warning in write.csv(str.otus, file = "dss.feces/str.otus.csv", row.names =
## TRUE, : attempt to set 'col.names' ignored
write.csv(str.tax, file="dss.feces/str.tax.csv", row.names=TRUE, col.names=TRUE)
## Warning in write.csv(str.tax, file = "dss.feces/str.tax.csv", row.names =
## TRUE, : attempt to set 'col.names' ignored
##Load in the tables using metagenomeSeq commands
str.otus <- loadMeta("dss.feces/str.otus.csv", sep=",")
dim(str.otus$counts) #1192 taxa in 93 samples; so far correct
## [1] 1192 93
head(str.otus$counts)
## 133 132 131 55 54 69 21 66 405 317 48 24 8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 0 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0
## 6 85 29 44 4 82 81 72 31 86 20 19 63 70 84
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 4 3 3 0 0 3 0 0 0 1 1 4 0 0
## New.ReferenceOTU33 0 4 0 6 0 0 2 47 0 0 0 0 0 0 1
## New.ReferenceOTU122 0 6 0 0 0 2 36 0 0 2 0 0 5 7 0
## 360329 3 2 1 0 7 0 0 8 0 0 0 0 2 0 33
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 0 0 0 0 0 0 0 5
## 38 134 16 35 10 13 57 398 197 27 37 83 2 33
## New.CleanUp.ReferenceOTU10212 0 2 2 0 0 0 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 1 0 1 4 0 0 0 0 14 4 11 0 0
## New.ReferenceOTU33 0 5 0 0 0 0 0 0 5 0 1 1 0 0
## New.ReferenceOTU122 0 3 3 1 0 0 1 0 0 0 1 1 0 5
## 360329 0 0 0 0 0 0 0 3 0 6 1 0 16 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 0 0 1 0 0 1 0
## 71 68 65 1 130 206 243 135 36 5 67 3 41 7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 2 0 0 0 16 0 0 0 1 0 12 0 0 0
## New.ReferenceOTU33 0 16 0 10 0 0 3 0 1 3 4 14 0 0
## New.ReferenceOTU122 0 0 10 0 0 0 0 2 1 0 0 0 1 0
## 360329 2 12 0 0 0 0 3 0 1 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 0 1 0 3 0 0 0 0 2 1 0 0 0 1
## 45 60 51 49 235 218 23 46 25 247 248 128 43
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 12 0 2 0 0 0 1 0 0 0 5 1
## New.ReferenceOTU33 16 0 0 3 0 6 0 0 0 2 2 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0 0 0 0 0 0
## 360329 0 15 4 0 0 0 0 0 0 0 7 2 3
## New.CleanUp.ReferenceOTU20966 0 0 0 1 0 1 0 0 0 0 2 6 0
## 39 129 53 388 50 61 56 12 58 22 30 11 9 18
## New.CleanUp.ReferenceOTU10212 0 0 0 33 0 0 0 0 0 1 2 0 0 0
## New.CleanUp.ReferenceOTU31068 4 2 0 0 10 0 0 2 1 4 4 0 0 0
## New.ReferenceOTU33 5 0 0 0 26 5 0 0 0 2 5 0 0 0
## New.ReferenceOTU122 0 1 2 15 0 1 7 1 0 6 6 0 1 2
## 360329 0 13 9 0 7 7 0 0 23 2 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 1 0 0 0 0 0 1 4 12 0 0 0
## 42 59 40 52 34 47 62 17 15 14
## New.CleanUp.ReferenceOTU10212 0 0 2 0 0 0 4 0 0 0
## New.CleanUp.ReferenceOTU31068 10 2 0 11 9 6 0 0 0 6
## New.ReferenceOTU33 24 0 0 19 0 1 0 0 0 0
## New.ReferenceOTU122 0 0 2 0 1 7 40 0 0 4
## 360329 0 0 0 0 0 0 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 1 0 0
is.numeric(str.otus$counts)
## [1] FALSE
is.matrix(str.otus$counts)
## [1] FALSE
is.data.frame(str.otus$counts) #count data is a data frame (after upload in both CSV and tab delimited format), must specify $counts when creating MRexperiment object.
## [1] TRUE
str.otus <- data.matrix(str.otus$counts, rownames.force = TRUE)
head(str.otus)
## 133 132 131 55 54 69 21 66 405 317 48 24 8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 0 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0
## 6 85 29 44 4 82 81 72 31 86 20 19 63 70 84
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 4 3 3 0 0 3 0 0 0 1 1 4 0 0
## New.ReferenceOTU33 0 4 0 6 0 0 2 47 0 0 0 0 0 0 1
## New.ReferenceOTU122 0 6 0 0 0 2 36 0 0 2 0 0 5 7 0
## 360329 3 2 1 0 7 0 0 8 0 0 0 0 2 0 33
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 0 0 0 0 0 0 0 5
## 38 134 16 35 10 13 57 398 197 27 37 83 2 33
## New.CleanUp.ReferenceOTU10212 0 2 2 0 0 0 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 1 0 1 4 0 0 0 0 14 4 11 0 0
## New.ReferenceOTU33 0 5 0 0 0 0 0 0 5 0 1 1 0 0
## New.ReferenceOTU122 0 3 3 1 0 0 1 0 0 0 1 1 0 5
## 360329 0 0 0 0 0 0 0 3 0 6 1 0 16 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 0 0 1 0 0 1 0
## 71 68 65 1 130 206 243 135 36 5 67 3 41 7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 2 0 0 0 16 0 0 0 1 0 12 0 0 0
## New.ReferenceOTU33 0 16 0 10 0 0 3 0 1 3 4 14 0 0
## New.ReferenceOTU122 0 0 10 0 0 0 0 2 1 0 0 0 1 0
## 360329 2 12 0 0 0 0 3 0 1 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 0 1 0 3 0 0 0 0 2 1 0 0 0 1
## 45 60 51 49 235 218 23 46 25 247 248 128 43
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 12 0 2 0 0 0 1 0 0 0 5 1
## New.ReferenceOTU33 16 0 0 3 0 6 0 0 0 2 2 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0 0 0 0 0 0
## 360329 0 15 4 0 0 0 0 0 0 0 7 2 3
## New.CleanUp.ReferenceOTU20966 0 0 0 1 0 1 0 0 0 0 2 6 0
## 39 129 53 388 50 61 56 12 58 22 30 11 9 18
## New.CleanUp.ReferenceOTU10212 0 0 0 33 0 0 0 0 0 1 2 0 0 0
## New.CleanUp.ReferenceOTU31068 4 2 0 0 10 0 0 2 1 4 4 0 0 0
## New.ReferenceOTU33 5 0 0 0 26 5 0 0 0 2 5 0 0 0
## New.ReferenceOTU122 0 1 2 15 0 1 7 1 0 6 6 0 1 2
## 360329 0 13 9 0 7 7 0 0 23 2 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 1 0 0 0 0 0 1 4 12 0 0 0
## 42 59 40 52 34 47 62 17 15 14
## New.CleanUp.ReferenceOTU10212 0 0 2 0 0 0 4 0 0 0
## New.CleanUp.ReferenceOTU31068 10 2 0 11 9 6 0 0 0 6
## New.ReferenceOTU33 24 0 0 19 0 1 0 0 0 0
## New.ReferenceOTU122 0 0 2 0 1 7 40 0 0 4
## 360329 0 0 0 0 0 0 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 1 0 0
str.tax <- read.delim("dss.feces/str.tax.txt", sep = "\t", stringsAsFactors = FALSE) # Strings as Factors MUST be false.
head(str.tax)
## Kingdom Phylum Class
## New.CleanUp.ReferenceOTU10212 k__Bacteria p__Firmicutes c__Clostridia
## New.CleanUp.ReferenceOTU31068 k__Bacteria p__Firmicutes c__Clostridia
## New.ReferenceOTU33 k__Bacteria p__Firmicutes c__Clostridia
## New.ReferenceOTU122 k__Bacteria p__Firmicutes c__Clostridia
## 360329 k__Bacteria p__Firmicutes c__Clostridia
## New.CleanUp.ReferenceOTU20966 k__Bacteria p__Firmicutes c__Clostridia
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
## Species
## New.CleanUp.ReferenceOTU10212 s__
## New.CleanUp.ReferenceOTU31068 s__
## New.ReferenceOTU33 s__
## New.ReferenceOTU122 s__
## 360329 s__
## New.CleanUp.ReferenceOTU20966 s__
#str.tax <- data.matrix(str.tax, rownames.force = TRUE)
##Load in metadata from table using metagenomeSeq commands
str.pheno <- "mapping.files/MappingFiles_DSS_feces.txt"
str.pheno <- read.delim(str.pheno)
head(str.pheno)
## X.SampleID
## 1 #Analysis of the Bacteria in Intestinal Contents of 8-Week Old Pigs Fed DSS
## 2 #DSS Trials 2014
## 3 1
## 4 2
## 5 3
## 6 4
## BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 1
## 2
## 3 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 1
## 2
## 3 DSS_29-8_Base1_d7
## 4 DSS_29-11_Base1_d7
## 5 DSS_29-12_Base1_d10
## 6 DSS_29-14_Base1_d10
##need to remove first two rows of str.pheno
str.pheno <- str.pheno[-c(1,2),]
head(str.pheno)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 3 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 7 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 8 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 3 DSS_29-8_Base1_d7
## 4 DSS_29-11_Base1_d7
## 5 DSS_29-12_Base1_d10
## 6 DSS_29-14_Base1_d10
## 7 DSS_30-4_Base1_d10
## 8 DSS_30-5_Base1_d7
rownames(str.pheno) <- str.pheno[,"X.SampleID"]
head(str.pheno)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 1 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 2 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 3 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 1 DSS_29-8_Base1_d7
## 2 DSS_29-11_Base1_d7
## 3 DSS_29-12_Base1_d10
## 4 DSS_29-14_Base1_d10
## 5 DSS_30-4_Base1_d10
## 6 DSS_30-5_Base1_d7
##For some reason unbeknownst to me, reading the file in as csv works better, even though the vignette says to read in tab delimited files. Both methods create a data frame.
write.csv(str.pheno, file="dss.feces/phenotypeData.csv")
str.pheno <- loadPhenoData("dss.feces/phenotypeData.csv", sep=",")
head(str.pheno)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 1 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 2 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 3 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 5 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 1 DSS_29-8_Base1_d7
## 2 DSS_29-11_Base1_d7
## 3 DSS_29-12_Base1_d10
## 4 DSS_29-14_Base1_d10
## 5 DSS_30-4_Base1_d10
## 6 DSS_30-5_Base1_d7
order <- match(colnames(str.otus), rownames(str.pheno))
str.pheno <- str.pheno[order,]
head(str.pheno)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 133 133 AGTCACTG GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 132 132 AGCTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 131 131 AGCACTTG GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 55 55 ACTGCACA GTGTGCCAGCMGCCGCGGTAA DSS Day5 DSS_Day5
## 54 54 ACTCGACA GTGTGCCAGCMGCCGCGGTAA DSS Day5 DSS_Day5
## 69 69 ACGTTCGA GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## Description
## 133 DSS_30-5_Rectum_d7
## 132 DSS_30-4_Rectum_d10
## 131 DSS_29-14_Rectum_d10
## 55 DSS_30-5_Day5_d7
## 54 DSS_30-4_Day5_d10
## 69 DSS_30-4_Day7_d10
#str.pheno <- data.matrix(str.pheno, rownames.force = TRUE)
#head(str.pheno)
##Create the MRexperiment object
phenotypeData <- AnnotatedDataFrame(str.pheno)
phenotypeData
## An object of class 'AnnotatedDataFrame'
## rowNames: 133 132 ... 14 (93 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
TaxaData <- AnnotatedDataFrame(str.tax)
TaxaData
## An object of class 'AnnotatedDataFrame'
## rowNames: New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... New.ReferenceOTU283 (1192
## total)
## varLabels: Kingdom Phylum ... Species (7 total)
## varMetadata: labelDescription
MR_Str <- newMRexperiment(str.otus, phenoData = phenotypeData, featureData = TaxaData) # must specify $counts for data to be considered numeric
MR_Str #1192 features (OTUs) in 93 samples.
## MRexperiment (storageMode: environment)
## assayData: 1192 features, 93 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 14 (93 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... New.ReferenceOTU283 (1192
## total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
head(MRcounts(MR_Str))
## 133 132 131 55 54 69 21 66 405 317 48 24 8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 0 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0
## 6 85 29 44 4 82 81 72 31 86 20 19 63 70 84
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 4 3 3 0 0 3 0 0 0 1 1 4 0 0
## New.ReferenceOTU33 0 4 0 6 0 0 2 47 0 0 0 0 0 0 1
## New.ReferenceOTU122 0 6 0 0 0 2 36 0 0 2 0 0 5 7 0
## 360329 3 2 1 0 7 0 0 8 0 0 0 0 2 0 33
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 0 0 0 0 0 0 0 5
## 38 134 16 35 10 13 57 398 197 27 37 83 2 33
## New.CleanUp.ReferenceOTU10212 0 2 2 0 0 0 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 1 0 1 4 0 0 0 0 14 4 11 0 0
## New.ReferenceOTU33 0 5 0 0 0 0 0 0 5 0 1 1 0 0
## New.ReferenceOTU122 0 3 3 1 0 0 1 0 0 0 1 1 0 5
## 360329 0 0 0 0 0 0 0 3 0 6 1 0 16 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 0 0 1 0 0 1 0
## 71 68 65 1 130 206 243 135 36 5 67 3 41 7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 2 0 0 0 16 0 0 0 1 0 12 0 0 0
## New.ReferenceOTU33 0 16 0 10 0 0 3 0 1 3 4 14 0 0
## New.ReferenceOTU122 0 0 10 0 0 0 0 2 1 0 0 0 1 0
## 360329 2 12 0 0 0 0 3 0 1 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 0 1 0 3 0 0 0 0 2 1 0 0 0 1
## 45 60 51 49 235 218 23 46 25 247 248 128 43
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 1 12 0 2 0 0 0 1 0 0 0 5 1
## New.ReferenceOTU33 16 0 0 3 0 6 0 0 0 2 2 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0 0 0 0 0 0
## 360329 0 15 4 0 0 0 0 0 0 0 7 2 3
## New.CleanUp.ReferenceOTU20966 0 0 0 1 0 1 0 0 0 0 2 6 0
## 39 129 53 388 50 61 56 12 58 22 30 11 9 18
## New.CleanUp.ReferenceOTU10212 0 0 0 33 0 0 0 0 0 1 2 0 0 0
## New.CleanUp.ReferenceOTU31068 4 2 0 0 10 0 0 2 1 4 4 0 0 0
## New.ReferenceOTU33 5 0 0 0 26 5 0 0 0 2 5 0 0 0
## New.ReferenceOTU122 0 1 2 15 0 1 7 1 0 6 6 0 1 2
## 360329 0 13 9 0 7 7 0 0 23 2 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 1 0 0 0 0 0 1 4 12 0 0 0
## 42 59 40 52 34 47 62 17 15 14
## New.CleanUp.ReferenceOTU10212 0 0 2 0 0 0 4 0 0 0
## New.CleanUp.ReferenceOTU31068 10 2 0 11 9 6 0 0 0 6
## New.ReferenceOTU33 24 0 0 19 0 1 0 0 0 0
## New.ReferenceOTU122 0 0 2 0 1 7 40 0 0 4
## 360329 0 0 0 0 0 0 1 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0 1 0 0
pData(MR_Str)$Time
## 133 132 131 55 54 69 21 66 405 317 48 24
## Day7 Day10 Day10 Day5 Day5 Day7 Day1 Day6 Day10 Base1 Day4 Day1
## 8 6 85 29 44 4 82 81 72 31 86 20
## Base1 Base1 Day9 Day2 Day4 Base1 Day8 Day8 Day8 Day2 Day9 Day1
## 19 63 70 84 38 134 16 35 10 13 57 398
## Day1 Day6 Day7 Day9 Day3 Day10 Base2 Day3 Base2 Base2 Day5 Base1
## 197 27 37 83 2 33 71 68 65 1 130 206
## Base1 Day2 Day3 Day9 Base1 Day2 Day8 Day7 Day6 Base1 Day10 Base1
## 243 135 36 5 67 3 41 7 45 60 51 49
## Day10 Day7 Day3 Base1 Day7 Base1 Day3 Base1 Day4 Day6 Day5 Day4
## 235 218 23 46 25 247 248 128 43 39 129 53
## Day10 Base1 Day1 Day4 Day2 Day10 Day10 Day7 Day4 Day3 Day7 Day5
## 388 50 61 56 12 58 22 30 11 9 18 42
## Day10 Day5 Day6 Day5 Base2 Day6 Day1 Day2 Base2 Base2 Day1 Day4
## 59 40 52 34 47 62 17 15 14
## Day6 Day3 Day5 Day3 Day4 Day6 Day1 Base2 Base2
## 12 Levels: Base1 Base2 Day1 Day10 Day2 Day3 Day4 Day5 Day6 Day7 ... Day9
head(fData(MR_Str))
## Kingdom Phylum Class
## New.CleanUp.ReferenceOTU10212 k__Bacteria p__Firmicutes c__Clostridia
## New.CleanUp.ReferenceOTU31068 k__Bacteria p__Firmicutes c__Clostridia
## New.ReferenceOTU33 k__Bacteria p__Firmicutes c__Clostridia
## New.ReferenceOTU122 k__Bacteria p__Firmicutes c__Clostridia
## 360329 k__Bacteria p__Firmicutes c__Clostridia
## New.CleanUp.ReferenceOTU20966 k__Bacteria p__Firmicutes c__Clostridia
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
## Species
## New.CleanUp.ReferenceOTU10212 s__
## New.CleanUp.ReferenceOTU31068 s__
## New.ReferenceOTU33 s__
## New.ReferenceOTU122 s__
## 360329 s__
## New.CleanUp.ReferenceOTU20966 s__
Cleaning up data, creating subsets, and performing CSS normalization with metagenomeSeq
##Perform Cumulative Sum Scaling Normalization
##First, calculate the proper percentile at which to normalize counts. CSS scaling is a normalization method that calculates scaling factors equal to the sum of counts up to a particular quantile.
##Using the fitZig for DA testing. fitZig is capable of determining differences between multiple groups for a particular vairable. While the fitFeatureModel is recommended, it is unable to perform multiple testing at this time.
##Remove rare OTUs first. I kept with setting outlined in vignette, although this may be adjusted. Features (OTUs) with a total number of counts below 10 are removed.
rareFeatures <- which(rowSums(MRcounts(MR_Str)>0)<10)
rareFeatures
## New.CleanUp.ReferenceOTU1797 New.CleanUp.ReferenceOTU17971
## 7 8
## New.CleanUp.ReferenceOTU28143 290370
## 47 65
## New.CleanUp.ReferenceOTU15649 New.CleanUp.ReferenceOTU33879
## 79 82
## New.CleanUp.ReferenceOTU28409 524117
## 100 113
## 580934 New.CleanUp.ReferenceOTU24870
## 123 144
## New.CleanUp.ReferenceOTU9271 New.CleanUp.ReferenceOTU16778
## 145 151
## 956050 New.ReferenceOTU40
## 153 154
## 333042 New.CleanUp.ReferenceOTU2007
## 160 171
## New.CleanUp.ReferenceOTU12611 New.CleanUp.ReferenceOTU21885
## 174 176
## New.CleanUp.ReferenceOTU14135 New.ReferenceOTU184
## 180 202
## 42406 New.CleanUp.ReferenceOTU17451
## 203 214
## New.CleanUp.ReferenceOTU29174 New.CleanUp.ReferenceOTU15371
## 253 294
## New.CleanUp.ReferenceOTU5032 New.CleanUp.ReferenceOTU29998
## 312 355
## 290211 196753
## 371 374
## New.CleanUp.ReferenceOTU34512 New.CleanUp.ReferenceOTU16701
## 375 384
## 3358074 New.CleanUp.ReferenceOTU34885
## 396 406
## New.CleanUp.ReferenceOTU18706 New.CleanUp.ReferenceOTU25754
## 411 415
## 2925620 New.CleanUp.ReferenceOTU19323
## 418 424
## New.CleanUp.ReferenceOTU23793 4289858
## 428 431
## 426638 New.ReferenceOTU205
## 433 434
## New.CleanUp.ReferenceOTU10357 New.CleanUp.ReferenceOTU9346
## 437 442
## New.CleanUp.ReferenceOTU7759 New.CleanUp.ReferenceOTU2475
## 445 452
## New.CleanUp.ReferenceOTU10655 New.ReferenceOTU123
## 480 491
## 336325 345322
## 502 503
## New.CleanUp.ReferenceOTU19144 New.CleanUp.ReferenceOTU30937
## 518 520
## New.CleanUp.ReferenceOTU21336 292276
## 527 559
## New.CleanUp.ReferenceOTU32951 New.CleanUp.ReferenceOTU10146
## 572 585
## 4369988 New.CleanUp.ReferenceOTU15019
## 589 591
## New.CleanUp.ReferenceOTU54 New.ReferenceOTU84
## 593 601
## New.CleanUp.ReferenceOTU18809 839152
## 604 607
## New.CleanUp.ReferenceOTU11158 New.CleanUp.ReferenceOTU31439
## 625 628
## 177484 New.CleanUp.ReferenceOTU3994
## 667 699
## New.CleanUp.ReferenceOTU15669 New.ReferenceOTU204
## 703 711
## New.CleanUp.ReferenceOTU13570 New.ReferenceOTU176
## 714 724
## 4426367 569807
## 739 741
## 191792 New.CleanUp.ReferenceOTU31393
## 744 745
## 193188 New.ReferenceOTU95
## 763 768
## New.CleanUp.ReferenceOTU27870 530928
## 769 772
## New.CleanUp.ReferenceOTU14616 New.CleanUp.ReferenceOTU32374
## 775 778
## 294169 177379
## 797 805
## 4387181 193098
## 806 808
## New.CleanUp.ReferenceOTU6298 199141
## 809 815
## 304531 New.CleanUp.ReferenceOTU11256
## 817 818
## 153341 392918
## 822 837
## New.CleanUp.ReferenceOTU26895 New.CleanUp.ReferenceOTU17713
## 859 866
## New.CleanUp.ReferenceOTU26320 New.CleanUp.ReferenceOTU31451
## 956 999
## New.CleanUp.ReferenceOTU18063 620319
## 1003 1009
## New.CleanUp.ReferenceOTU25588 4480176
## 1017 1019
## New.CleanUp.ReferenceOTU19605 36330
## 1042 1050
## 291493 180681
## 1059 1073
## New.CleanUp.ReferenceOTU34802 346771
## 1076 1091
## New.CleanUp.ReferenceOTU23630 New.ReferenceOTU245
## 1097 1099
## 305460 New.CleanUp.ReferenceOTU21554
## 1101 1109
## 195999 New.CleanUp.ReferenceOTU9183
## 1110 1130
## New.CleanUp.ReferenceOTU7286 New.CleanUp.ReferenceOTU33695
## 1132 1152
## New.CleanUp.ReferenceOTU12001 193666
## 1158 1179
## New.CleanUp.ReferenceOTU33599 351975
## 1187 1188
MR.dss.feces.trim <- MR_Str[-rareFeatures,]
MR.dss.feces.trim #1078 features in 93 samples
## MRexperiment (storageMode: environment)
## assayData: 1078 features, 93 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 14 (93 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... New.ReferenceOTU283 (1078
## total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
##Remove "Base2," as it is redundant.
removebase2 <- which(pData(MR.dss.feces.trim)$TrialTime != "DSS_Base2")
MR.dss.feces.trim <- MR.dss.feces.trim[,removebase2]
MR.dss.feces.trim #1078 features in 85 samples
## MRexperiment (storageMode: environment)
## assayData: 1078 features, 85 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 17 (85 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... New.ReferenceOTU283 (1078
## total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
MR.dss.feces.trim <- filterData(MR.dss.feces.trim, present=17) #"present=" parameters specifies that the program should keep features present in at least this number of samples. I am specifying that features should be present in at least 20% of samples (this is arbitrary)
MR.dss.feces.trim #down to 845 features
## MRexperiment (storageMode: environment)
## assayData: 845 features, 85 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 17 (85 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
head(MRcounts(MR.dss.feces.trim))
## 133 132 131 55 54 69 21 66 405 317 48 24 8 6
## New.CleanUp.ReferenceOTU31068 0 13 0 2 1 1 0 0 115 0 2 0 0 0
## New.ReferenceOTU33 9 17 24 1 6 16 0 0 341 0 0 0 0 0
## New.ReferenceOTU122 37 35 0 4 5 35 0 9 0 0 1 0 1 0
## 360329 3 20 6 0 4 0 0 0 6 0 0 1 0 3
## New.CleanUp.ReferenceOTU20966 2 0 4 6 42 3 0 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU6149 2 6 1 0 1 14 0 0 15 0 1 0 0 0
## 85 29 44 4 82 81 72 31 86 20 19 63 70 84 38
## New.CleanUp.ReferenceOTU31068 4 3 3 0 0 3 0 0 0 1 1 4 0 0 1
## New.ReferenceOTU33 4 0 6 0 0 2 47 0 0 0 0 0 0 1 0
## New.ReferenceOTU122 6 0 0 0 2 36 0 0 2 0 0 5 7 0 0
## 360329 2 1 0 7 0 0 8 0 0 0 0 2 0 33 0
## New.CleanUp.ReferenceOTU20966 1 0 0 0 0 2 0 0 0 0 0 0 0 5 0
## New.CleanUp.ReferenceOTU6149 1 1 0 0 0 6 2 0 0 0 0 0 0 0 0
## 134 35 57 398 197 27 37 83 2 33 71 68 65 1
## New.CleanUp.ReferenceOTU31068 1 1 0 0 0 14 4 11 0 0 2 0 0 0
## New.ReferenceOTU33 5 0 0 0 5 0 1 1 0 0 0 16 0 10
## New.ReferenceOTU122 3 1 1 0 0 0 1 1 0 5 0 0 10 0
## 360329 0 0 0 3 0 6 1 0 16 0 2 12 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 1 0 0 1 0 0 1 0 3
## New.CleanUp.ReferenceOTU6149 4 0 0 0 0 1 0 0 0 0 0 1 1 0
## 130 206 243 135 36 5 67 3 41 7 45 60 51 49
## New.CleanUp.ReferenceOTU31068 16 0 0 0 1 0 12 0 0 0 1 12 0 2
## New.ReferenceOTU33 0 0 3 0 1 3 4 14 0 0 16 0 0 3
## New.ReferenceOTU122 0 0 0 2 1 0 0 0 1 0 0 0 0 1
## 360329 0 0 3 0 1 0 0 0 0 2 0 15 4 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 2 1 0 0 0 1 0 0 0 1
## New.CleanUp.ReferenceOTU6149 1 0 1 1 0 0 1 0 0 0 0 0 0 0
## 235 218 23 46 25 247 248 128 43 39 129 53
## New.CleanUp.ReferenceOTU31068 0 0 0 1 0 0 0 5 1 4 2 0
## New.ReferenceOTU33 0 6 0 0 0 2 2 39 3 5 0 0
## New.ReferenceOTU122 0 0 0 0 0 0 0 0 0 0 1 2
## 360329 0 0 0 0 0 0 7 2 3 0 13 9
## New.CleanUp.ReferenceOTU20966 0 1 0 0 0 0 2 6 0 0 0 1
## New.CleanUp.ReferenceOTU6149 0 0 0 0 0 6 0 0 0 0 0 0
## 388 50 61 56 58 22 30 18 42 59 40 52 34 47
## New.CleanUp.ReferenceOTU31068 0 10 0 0 1 4 4 0 10 2 0 11 9 6
## New.ReferenceOTU33 0 26 5 0 0 2 5 0 24 0 0 19 0 1
## New.ReferenceOTU122 15 0 1 7 0 6 6 2 0 0 2 0 1 7
## 360329 0 7 7 0 23 2 1 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 1 4 12 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU6149 0 0 7 2 0 0 2 0 0 0 0 6 0 2
## 62 17
## New.CleanUp.ReferenceOTU31068 0 0
## New.ReferenceOTU33 0 0
## New.ReferenceOTU122 40 0
## 360329 1 0
## New.CleanUp.ReferenceOTU20966 0 1
## New.CleanUp.ReferenceOTU6149 0 0
##Creating subsets of data for multivariate DA testing across multiple groups (Later on).
##By removing the least prevalent OTUs after each creation of a subset, the data entered into fitZig will produce less noise, increasing the confidence in results. Thus, may need to have even more trimming performed than above
heal.samples <- which(pData(MR.dss.feces.trim)$TrialTime =="DSS_Day8" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day9" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day9" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day10" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Base1")
heal.base <- MR.dss.feces.trim[,heal.samples]
pData(heal.base)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 132 132 AGCTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 131 131 AGCACTTG GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 8 8 ACTGGTGT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 85 85 ACGTTGGT GTGTGCCAGCMGCCGCGGTAA DSS Day9 DSS_Day9
## 4 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 82 82 ACAGGACA GTGTGCCAGCMGCCGCGGTAA DSS Day8 DSS_Day8
## 81 81 ACACGTCA GTGTGCCAGCMGCCGCGGTAA DSS Day8 DSS_Day8
## 72 72 AGACCAGA GTGTGCCAGCMGCCGCGGTAA DSS Day8 DSS_Day8
## 86 86 ACTCTCAC GTGTGCCAGCMGCCGCGGTAA DSS Day9 DSS_Day9
## 84 84 ACGTAGCT GTGTGCCAGCMGCCGCGGTAA DSS Day9 DSS_Day9
## 134 134 AGTCTCTC GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 83 83 ACGACATC GTGTGCCAGCMGCCGCGGTAA DSS Day9 DSS_Day9
## 2 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 71 71 ACTGCTGA GTGTGCCAGCMGCCGCGGTAA DSS Day8 DSS_Day8
## 1 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 130 130 AGAGGTCA GTGTGCCAGCMGCCGCGGTAA DSS Day10 DSS_Day10
## 5 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 3 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 7 7 ACTCTGAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## Description
## 132 DSS_30-4_Rectum_d10
## 131 DSS_29-14_Rectum_d10
## 8 DSS_30-8_Base1_d7
## 6 DSS_30-5_Base1_d7
## 85 DSS_30-4_Day9_d10
## 4 DSS_29-14_Base1_d10
## 82 DSS_30-7_Day8_d10
## 81 DSS_30-4_Day8_d10
## 72 DSS_29-14_Day8_d10
## 86 DSS_30-7_Day9_d10
## 84 DSS_29-14_Day9_d10
## 134 DSS_30-7_Rectum_d10
## 83 DSS_29-12_Day9_d10
## 2 DSS_29-11_Base1_d7
## 71 DSS_29-12_Day8_d10
## 1 DSS_29-8_Base1_d7
## 130 DSS_29-12_Rectum_d10
## 5 DSS_30-4_Base1_d10
## 3 DSS_29-12_Base1_d10
## 7 DSS_30-7_Base1_d10
heal.base <- filterData(heal.base, present=4) #20% of 20
heal.base #787 features in 20 samples
## MRexperiment (storageMode: environment)
## assayData: 761 features, 20 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 132 131 ... 7 (20 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (761 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
dss.samples <- which(pData(MR.dss.feces.trim)$TrialTime =="DSS_Day1" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day2" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day3" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day4" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day5" | pData(MR.dss.feces.trim)$TrialTime =="DSS_Day6"| pData(MR.dss.feces.trim)$TrialTime =="DSS_Day7"| pData(MR.dss.feces.trim)$TrialTime =="DSS_Base1")
dss.base <-MR.dss.feces.trim[,dss.samples]
dss.base
## MRexperiment (storageMode: environment)
## assayData: 845 features, 62 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 55 ... 17 (62 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
dss.base <- filterData(dss.base, present=12) #20% of 62
dss.base #812 features in 62 samples.
## MRexperiment (storageMode: environment)
## assayData: 824 features, 62 samples
## element names: counts
## protocolData: none
## phenoData
## sampleNames: 133 55 ... 17 (62 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (824 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
##Determine the appropriate percentile for CSS normalization.
#Default value being used means p = 0.5. This means that the estimated percentile is less than or equal to 0.5. In essence, only counts from OTUs in the lower 50th percentile of a sample will be used to determine the scaling factor (normFactor) for the sample. This is in attempts to reduce the impact of OTUs with PCR or amplification bias on the normalization process.
dss.feces.p <- cumNormStat(MR.dss.feces.trim)
## Default value being used.
dss.feces.p
## [1] 0.5
heal.base.p <- cumNormStat(heal.base)
## Default value being used.
heal.base.p
## [1] 0.5
dss.base.p <- cumNormStat(dss.base)
## Default value being used.
dss.base.p
## [1] 0.5
##Add normalized values to trimmed count matrices. These will be used for ordinations later.
MR.dss.feces.trim <- cumNorm(MR.dss.feces.trim, p=dss.feces.p)
heal.base <- cumNorm(heal.base, p=heal.base.p)
dss.base <- cumNorm(dss.base, p=dss.base.p)
##Look at the normalization factors
pData(MR.dss.feces.trim@expSummary$expSummary)$normFactors
## normFactors
## 133 454
## 132 482
## 131 601
## 55 468
## 54 243
## 69 366
## 21 116
## 66 233
## 405 349
## 317 212
## 48 558
## 24 206
## 8 287
## 6 216
## 85 312
## 29 270
## 44 264
## 4 282
## 82 206
## 81 339
## 72 350
## 31 269
## 86 334
## 20 320
## 19 210
## 63 256
## 70 350
## 84 380
## 38 389
## 134 379
## 35 196
## 57 273
## 398 250
## 197 115
## 27 450
## 37 258
## 83 196
## 2 261
## 33 406
## 71 169
## 68 365
## 65 336
## 1 295
## 130 311
## 206 123
## 243 272
## 135 325
## 36 205
## 5 267
## 67 264
## 3 283
## 41 408
## 7 226
## 45 297
## 60 339
## 51 312
## 49 568
## 235 191
## 218 133
## 23 181
## 46 220
## 25 236
## 247 264
## 248 147
## 128 548
## 43 300
## 39 323
## 129 239
## 53 435
## 388 221
## 50 415
## 61 341
## 56 370
## 58 371
## 22 319
## 30 237
## 18 387
## 42 389
## 59 269
## 40 225
## 52 225
## 34 217
## 47 352
## 62 335
## 17 306
pData(heal.base@expSummary$expSummary)$normFactors
## normFactors
## 132 465
## 131 668
## 8 269
## 6 209
## 85 305
## 4 272
## 82 323
## 81 335
## 72 417
## 86 327
## 84 365
## 134 369
## 83 183
## 2 308
## 71 161
## 1 284
## 130 300
## 5 255
## 3 274
## 7 223
pData(dss.base@expSummary$expSummary)$normFactors
## normFactors
## 133 449
## 55 464
## 54 237
## 69 359
## 21 116
## 66 228
## 48 544
## 24 205
## 8 282
## 6 215
## 29 270
## 44 261
## 4 272
## 31 268
## 20 313
## 19 208
## 63 256
## 70 345
## 38 387
## 35 196
## 57 271
## 27 444
## 37 255
## 2 260
## 33 406
## 68 360
## 65 332
## 1 291
## 135 319
## 36 204
## 5 265
## 67 262
## 3 281
## 41 405
## 7 225
## 45 294
## 60 334
## 51 307
## 49 556
## 23 179
## 46 219
## 25 236
## 128 528
## 43 297
## 39 323
## 129 235
## 53 430
## 50 410
## 61 339
## 56 456
## 58 369
## 22 318
## 30 234
## 18 380
## 42 389
## 59 345
## 40 221
## 52 222
## 34 216
## 47 343
## 62 321
## 17 302
##Export the count matrices as normalized counts or normalized and logged counts (for Nature Methods metagenomeSeq paper, counts used for ordination were normalized and log 2 transformed.)
#Samples (i.e., each barcoded sample) with normFactors near the median to be used as reference samples for normalization. For more information, see online methods in Paulson et. al 2013 Nature Paper introducing metagenomeSeq
##CSS counts only. "sl=" gives the number to scale counts by, recommended to be the median normFactor in Nature Methods paper.
dss.feces.css.norm <- MRcounts(MR.dss.feces.trim, norm=TRUE, sl=median(normFactors(MR.dss.feces.trim)))
heal.css.norm <- MRcounts(heal.base, norm=TRUE, sl=median(normFactors(heal.base)))
dss.css.norm <- MRcounts(dss.base, norm=TRUE, sl=median(normFactors(dss.base)))
##CSS and log2 transformed counts
dss.feces.css.norm.log <- MRcounts(MR.dss.feces.trim, norm=TRUE, log=TRUE)
heal.css.norm.log <- MRcounts(heal.base, norm=TRUE, log=TRUE)
dss.css.norm.log <- MRcounts(dss.base, norm=TRUE, log=TRUE)
##Log2 transformed counts only.
dss.feces.log <- MRcounts(MR.dss.feces.trim, log=TRUE)
heal.log <- MRcounts(heal.base, log=TRUE)
dss.log <- MRcounts(dss.base, log=TRUE)
##Check outputs of normalization
colnames(dss.feces.css.norm)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "35" "57" "398"
## [34] "197" "27" "37" "83" "2" "33" "71" "68" "65" "1" "130"
## [45] "206" "243" "135" "36" "5" "67" "3" "41" "7" "45" "60"
## [56] "51" "49" "235" "218" "23" "46" "25" "247" "248" "128" "43"
## [67] "39" "129" "53" "388" "50" "61" "56" "58" "22" "30" "18"
## [78] "42" "59" "40" "52" "34" "47" "62" "17"
head(dss.feces.css.norm)
## 133 132 131 55
## New.CleanUp.ReferenceOTU31068 0.000000 7.740664 0.0000000 1.2264957
## New.ReferenceOTU33 5.689427 10.122407 11.4608985 0.6132479
## New.ReferenceOTU122 23.389868 20.840249 0.0000000 2.4529915
## 360329 1.896476 11.908714 2.8652246 0.0000000
## New.CleanUp.ReferenceOTU20966 1.264317 0.000000 1.9101498 3.6794872
## New.CleanUp.ReferenceOTU6149 1.264317 3.572614 0.4775374 0.0000000
## 54 69 21 66 405
## New.CleanUp.ReferenceOTU31068 1.18107 0.784153 0 0.00000 94.570201
## New.ReferenceOTU33 7.08642 12.546448 0 0.00000 280.421203
## New.ReferenceOTU122 5.90535 27.445355 0 11.08584 0.000000
## 360329 4.72428 0.000000 0 0.00000 4.934097
## New.CleanUp.ReferenceOTU20966 49.60494 2.352459 0 0.00000 0.000000
## New.CleanUp.ReferenceOTU6149 1.18107 10.978142 0 0.00000 12.335244
## 317 48 24 8 6 85
## New.CleanUp.ReferenceOTU31068 0 1.0286738 0.000000 0 0.000000 3.6794872
## New.ReferenceOTU33 0 0.0000000 0.000000 0 0.000000 3.6794872
## New.ReferenceOTU122 0 0.5143369 0.000000 1 0.000000 5.5192308
## 360329 0 0.0000000 1.393204 0 3.986111 1.8397436
## New.CleanUp.ReferenceOTU20966 0 0.0000000 0.000000 0 0.000000 0.9198718
## New.CleanUp.ReferenceOTU6149 0 0.5143369 0.000000 0 0.000000 0.9198718
## 29 44 4 82
## New.CleanUp.ReferenceOTU31068 3.188889 3.261364 0.000000 0.000000
## New.ReferenceOTU33 0.000000 6.522727 0.000000 0.000000
## New.ReferenceOTU122 0.000000 0.000000 0.000000 2.786408
## 360329 1.062963 0.000000 7.124113 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 1.062963 0.000000 0.000000 0.000000
## 81 72 31 86 20
## New.CleanUp.ReferenceOTU31068 2.539823 0.00 0 0.000000 0.896875
## New.ReferenceOTU33 1.693215 38.54 0 0.000000 0.000000
## New.ReferenceOTU122 30.477876 0.00 0 1.718563 0.000000
## 360329 0.000000 6.56 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 1.693215 0.00 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 5.079646 1.64 0 0.000000 0.000000
## 19 63 70 84 38
## New.CleanUp.ReferenceOTU31068 1.366667 4.484375 0.00 0.0000000 0.7377892
## New.ReferenceOTU33 0.000000 0.000000 0.00 0.7552632 0.0000000
## New.ReferenceOTU122 0.000000 5.605469 5.74 0.0000000 0.0000000
## 360329 0.000000 2.242188 0.00 24.9236842 0.0000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.00 3.7763158 0.0000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.00 0.0000000 0.0000000
## 134 35 57 398 197
## New.CleanUp.ReferenceOTU31068 0.7572559 1.464286 0.000000 0.000 0.00000
## New.ReferenceOTU33 3.7862797 0.000000 0.000000 0.000 12.47826
## New.ReferenceOTU122 2.2717678 1.464286 1.051282 0.000 0.00000
## 360329 0.0000000 0.000000 0.000000 3.444 0.00000
## New.CleanUp.ReferenceOTU20966 0.0000000 0.000000 0.000000 0.000 0.00000
## New.CleanUp.ReferenceOTU6149 3.0290237 0.000000 0.000000 0.000 0.00000
## 27 37 83 2
## New.CleanUp.ReferenceOTU31068 8.9288889 4.449612 16.107143 0.000000
## New.ReferenceOTU33 0.0000000 1.112403 1.464286 0.000000
## New.ReferenceOTU122 0.0000000 1.112403 1.464286 0.000000
## 360329 3.8266667 1.112403 0.000000 17.593870
## New.CleanUp.ReferenceOTU20966 0.6377778 0.000000 0.000000 1.099617
## New.CleanUp.ReferenceOTU6149 0.6377778 0.000000 0.000000 0.000000
## 33 71 68 65
## New.CleanUp.ReferenceOTU31068 0.000000 3.39645 0.0000000 0.0000000
## New.ReferenceOTU33 0.000000 0.00000 12.5808219 0.0000000
## New.ReferenceOTU122 3.534483 0.00000 0.0000000 8.5416667
## 360329 0.000000 3.39645 9.4356164 0.0000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.00000 0.7863014 0.0000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.00000 0.7863014 0.8541667
## 1 130 206 243 135
## New.CleanUp.ReferenceOTU31068 0.000000 14.7652733 0 0.000000 0.0000000
## New.ReferenceOTU33 9.728814 0.0000000 0 3.165441 0.0000000
## New.ReferenceOTU122 0.000000 0.0000000 0 0.000000 1.7661538
## 360329 0.000000 0.0000000 0 3.165441 0.0000000
## New.CleanUp.ReferenceOTU20966 2.918644 0.0000000 0 0.000000 0.0000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.9228296 0 1.055147 0.8830769
## 36 5 67 3 41
## New.CleanUp.ReferenceOTU31068 1.4 0.000000 13.045455 0.00000 0.0000000
## New.ReferenceOTU33 1.4 3.224719 4.348485 14.19788 0.0000000
## New.ReferenceOTU122 1.4 0.000000 0.000000 0.00000 0.7034314
## 360329 1.4 0.000000 0.000000 0.00000 0.0000000
## New.CleanUp.ReferenceOTU20966 2.8 1.074906 0.000000 0.00000 0.0000000
## New.CleanUp.ReferenceOTU6149 0.0 0.000000 1.087121 0.00000 0.0000000
## 7 45 60 51
## New.CleanUp.ReferenceOTU31068 0.000000 0.96633 10.15929 0.000000
## New.ReferenceOTU33 0.000000 15.46128 0.00000 0.000000
## New.ReferenceOTU122 0.000000 0.00000 0.00000 0.000000
## 360329 2.539823 0.00000 12.69912 3.679487
## New.CleanUp.ReferenceOTU20966 1.269912 0.00000 0.00000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.00000 0.00000 0.000000
## 49 235 218 23 46 25
## New.CleanUp.ReferenceOTU31068 1.0105634 0 0.000000 0 1.304545 0
## New.ReferenceOTU33 1.5158451 0 12.947368 0 0.000000 0
## New.ReferenceOTU122 0.5052817 0 0.000000 0 0.000000 0
## 360329 0.0000000 0 0.000000 0 0.000000 0
## New.CleanUp.ReferenceOTU20966 0.5052817 0 2.157895 0 0.000000 0
## New.CleanUp.ReferenceOTU6149 0.0000000 0 0.000000 0 0.000000 0
## 247 248 128 43
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 2.618613 0.9566667
## New.ReferenceOTU33 2.174242 3.904762 20.425182 2.8700000
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0.0000000
## 360329 0.000000 13.666667 1.047445 2.8700000
## New.CleanUp.ReferenceOTU20966 0.000000 3.904762 3.142336 0.0000000
## New.CleanUp.ReferenceOTU6149 6.522727 0.000000 0.000000 0.0000000
## 39 129 53 388
## New.CleanUp.ReferenceOTU31068 3.554180 2.401674 0.0000000 0.00000
## New.ReferenceOTU33 4.442724 0.000000 0.0000000 0.00000
## New.ReferenceOTU122 0.000000 1.200837 1.3195402 19.47964
## 360329 0.000000 15.610879 5.9379310 0.00000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.6597701 0.00000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.0000000 0.00000
## 50 61 56 58
## New.CleanUp.ReferenceOTU31068 6.915663 0.0000000 0.000000 0.7735849
## New.ReferenceOTU33 17.980723 4.2082111 0.000000 0.0000000
## New.ReferenceOTU122 0.000000 0.8416422 5.429730 0.0000000
## 360329 4.840964 5.8914956 0.000000 17.7924528
## New.CleanUp.ReferenceOTU20966 0.000000 0.0000000 0.000000 0.7735849
## New.CleanUp.ReferenceOTU6149 0.000000 5.8914956 1.551351 0.0000000
## 22 30 18 42
## New.CleanUp.ReferenceOTU31068 3.598746 4.843882 0.000000 7.377892
## New.ReferenceOTU33 1.799373 6.054852 0.000000 17.706941
## New.ReferenceOTU122 5.398119 7.265823 1.483204 0.000000
## 360329 1.799373 1.210970 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 3.598746 14.531646 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 2.421941 0.000000 0.000000
## 59 40 52 34
## New.CleanUp.ReferenceOTU31068 2.133829 0.000000 14.031111 11.903226
## New.ReferenceOTU33 0.000000 0.000000 24.235556 0.000000
## New.ReferenceOTU122 0.000000 2.551111 0.000000 1.322581
## 360329 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 7.653333 0.000000
## 47 62 17
## New.CleanUp.ReferenceOTU31068 4.8920455 0.0000000 0.0000000
## New.ReferenceOTU33 0.8153409 0.0000000 0.0000000
## New.ReferenceOTU122 5.7073864 34.2686567 0.0000000
## 360329 0.0000000 0.8567164 0.0000000
## New.CleanUp.ReferenceOTU20966 0.0000000 0.0000000 0.9379085
## New.CleanUp.ReferenceOTU6149 1.6306818 0.0000000 0.0000000
head(dss.feces.css.norm.log)
## 133 132 131 55 54
## New.CleanUp.ReferenceOTU31068 0.000000 4.805858 0.000000 2.398762 2.354798
## New.ReferenceOTU33 4.380161 5.180693 5.355208 1.649272 4.683211
## New.ReferenceOTU122 6.366284 6.201910 0.000000 3.255049 4.431364
## 360329 2.927504 5.409180 3.457248 0.000000 4.126056
## New.CleanUp.ReferenceOTU20966 2.434371 0.000000 2.936511 3.788739 7.441612
## New.CleanUp.ReferenceOTU6149 2.434371 3.749334 1.413536 0.000000 2.354798
## 69 21 66 405 317 48
## New.CleanUp.ReferenceOTU31068 1.900042 0 0.000000 8.368563 0 2.196679
## New.ReferenceOTU33 5.482714 0 0.000000 9.933805 0 0.000000
## New.ReferenceOTU122 6.594376 0 5.308398 0.000000 0 1.481358
## 360329 0.000000 0 0.000000 4.185230 0 0.000000
## New.CleanUp.ReferenceOTU20966 3.201120 0 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 5.294671 0 0.000000 5.458774 0 1.481358
## 24 8 6 85 29
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 0.000000 3.788739 3.598259
## New.ReferenceOTU33 0.000000 0.000000 0.000000 3.788739 0.000000
## New.ReferenceOTU122 0.000000 2.164889 0.000000 4.338479 0.000000
## 360329 2.549514 0.000000 3.896164 2.889523 2.233797
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 2.072150 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 2.072150 2.233797
## 44 4 82 81 72
## New.CleanUp.ReferenceOTU31068 3.628031 0.000000 0.000000 3.300059 0.000000
## New.ReferenceOTU33 4.568474 0.000000 0.000000 2.786535 7.079866
## New.ReferenceOTU122 0.000000 0.000000 3.420717 6.744090 0.000000
## 360329 0.000000 4.690568 0.000000 0.000000 4.576349
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 2.786535 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 4.224898 2.747234
## 31 86 20 19 63
## New.CleanUp.ReferenceOTU31068 0 0.000000 2.044394 2.526546 4.055282
## New.ReferenceOTU33 0 0.000000 0.000000 0.000000 0.000000
## New.ReferenceOTU122 0 2.804885 0.000000 0.000000 4.359750
## 360329 0 0.000000 0.000000 0.000000 3.139551
## New.CleanUp.ReferenceOTU20966 0 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0 0.000000 0.000000 0.000000 0.000000
## 70 84 38 134 35
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 1.836205 1.863353 2.609292
## New.ReferenceOTU33 0.000000 1.860597 0.000000 3.827068 0.000000
## New.ReferenceOTU122 4.392317 0.000000 0.000000 3.156327 2.609292
## 360329 0.000000 6.456841 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.823535 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 3.530332 0.000000
## 57 398 197 27 37
## New.CleanUp.ReferenceOTU31068 0.00000 0.00000 0.000000 5.005001 4.044733
## New.ReferenceOTU33 0.00000 0.00000 5.475028 0.000000 2.285689
## New.ReferenceOTU122 2.22126 0.00000 0.000000 0.000000 2.285689
## 360329 0.00000 3.70044 0.000000 3.841302 2.285689
## New.CleanUp.ReferenceOTU20966 0.00000 0.00000 0.000000 1.688056 0.000000
## New.CleanUp.ReferenceOTU6149 0.00000 0.00000 0.000000 1.688056 0.000000
## 83 2 33 71 68
## New.CleanUp.ReferenceOTU31068 5.835986 0.000000 0.00000 3.681935 0.000000
## New.ReferenceOTU33 2.609292 0.000000 0.00000 0.000000 5.486573
## New.ReferenceOTU122 2.609292 0.000000 3.73501 0.000000 0.000000
## 360329 0.000000 5.961222 0.00000 3.681935 5.082222
## New.CleanUp.ReferenceOTU20966 0.000000 2.272447 0.00000 0.000000 1.902933
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.00000 0.000000 1.902933
## 65 1 130 206 243
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 5.712787 0 0.000000
## New.ReferenceOTU33 0.000000 5.125085 0.000000 0 3.588494
## New.ReferenceOTU122 4.943073 0.000000 0.000000 0 0.000000
## 360329 0.000000 0.000000 0.000000 0 3.588494
## New.CleanUp.ReferenceOTU20966 0.000000 3.481492 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 1.991387 0.000000 2.075681 0 2.225420
## 135 36 5 67 3
## New.CleanUp.ReferenceOTU31068 0.000000 2.555337 0.000000 5.537748 0.000000
## New.ReferenceOTU33 0.000000 2.555337 3.613055 4.013598 5.657353
## New.ReferenceOTU122 2.838719 2.555337 0.000000 0.000000 0.000000
## 360329 0.000000 2.555337 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.427083 2.246505 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 2.027481 0.000000 0.000000 2.259387 0.000000
## 41 7 45 60 51
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 2.126644 5.185796 0.000000
## New.ReferenceOTU33 0.000000 0.000000 5.778000 0.000000 0.000000
## New.ReferenceOTU122 1.787006 0.000000 0.000000 0.000000 0.000000
## 360329 0.000000 3.300059 0.000000 5.499775 3.788739
## New.CleanUp.ReferenceOTU20966 0.000000 2.439564 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 0.000000
## 49 235 218 23 46 25
## New.CleanUp.ReferenceOTU31068 2.176682 0 0.000000 0 2.471306 0
## New.ReferenceOTU33 2.651153 0 5.527095 0 0.000000 0
## New.ReferenceOTU122 1.464963 0 0.000000 0 0.000000 0
## 360329 0.000000 0 0.000000 0 0.000000 0
## New.CleanUp.ReferenceOTU20966 1.464963 0 3.090650 0 0.000000 0
## New.CleanUp.ReferenceOTU6149 0.000000 0 0.000000 0 0.000000 0
## 247 248 128 43 39
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 3.339720 2.115477 3.742427
## New.ReferenceOTU33 3.100264 3.868434 6.173285 3.459432 4.042633
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0.000000 0.000000
## 360329 0.000000 5.603450 2.217117 3.459432 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.868434 3.578807 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 4.568474 0.000000 0.000000 0.000000 0.000000
## 129 53 388 50 61
## New.CleanUp.ReferenceOTU31068 3.227772 0.000000 0.000000 4.649408 0.000000
## New.ReferenceOTU33 0.000000 0.000000 0.000000 5.992102 3.969266
## New.ReferenceOTU122 2.374094 2.484834 6.105873 0.000000 1.975466
## 360329 5.791640 4.438935 0.000000 4.159263 4.428133
## New.CleanUp.ReferenceOTU20966 0.000000 1.721963 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 4.428133
## 56 58 22 30 18
## New.CleanUp.ReferenceOTU31068 0.000000 1.885737 3.759069 4.160084 0.000000
## New.ReferenceOTU33 0.000000 0.000000 2.861874 4.465782 0.000000
## New.ReferenceOTU122 4.316067 0.000000 4.308068 4.717893 2.624793
## 360329 0.000000 5.977156 2.861874 2.383887 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.885737 3.759069 5.690219 0.000000
## New.CleanUp.ReferenceOTU6149 2.679290 0.000000 0.000000 3.238606 0.000000
## 42 59 40 52 34
## New.CleanUp.ReferenceOTU31068 4.739143 3.076379 0.000000 5.640647 5.408530
## New.ReferenceOTU33 5.970317 0.000000 0.000000 6.416915 0.000000
## New.ReferenceOTU122 0.000000 0.000000 3.305808 0.000000 2.487562
## 360329 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 4.790077 0.000000
## 47 62 17
## New.CleanUp.ReferenceOTU31068 4.173564 0.000000 0.000000
## New.ReferenceOTU33 1.941448 0.000000 0.000000
## New.ReferenceOTU122 4.384489 6.911727 0.000000
## 360329 0.000000 1.994607 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 2.093551
## New.CleanUp.ReferenceOTU6149 2.740241 0.000000 0.000000
head(dss.feces.log)
## 133 132 131 55 54
## New.CleanUp.ReferenceOTU31068 0.000000 3.807355 0.000000 1.584963 1.000000
## New.ReferenceOTU33 3.321928 4.169925 4.643856 1.000000 2.807355
## New.ReferenceOTU122 5.247928 5.169925 0.000000 2.321928 2.584963
## 360329 2.000000 4.392317 2.807355 0.000000 2.321928
## New.CleanUp.ReferenceOTU20966 1.584963 0.000000 2.321928 2.807355 5.426265
## New.CleanUp.ReferenceOTU6149 1.584963 2.807355 1.000000 0.000000 1.000000
## 69 21 66 405 317 48
## New.CleanUp.ReferenceOTU31068 1.000000 0 0.000000 6.857981 0 1.584963
## New.ReferenceOTU33 4.087463 0 0.000000 8.417853 0 0.000000
## New.ReferenceOTU122 5.169925 0 3.321928 0.000000 0 1.000000
## 360329 0.000000 0 0.000000 2.807355 0 0.000000
## New.CleanUp.ReferenceOTU20966 2.000000 0 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 3.906891 0 0.000000 4.000000 0 1.000000
## 24 8 6 85 29 44 4 82
## New.CleanUp.ReferenceOTU31068 0 0 0 2.321928 2 2.000000 0 0.000000
## New.ReferenceOTU33 0 0 0 2.321928 0 2.807355 0 0.000000
## New.ReferenceOTU122 0 1 0 2.807355 0 0.000000 0 1.584963
## 360329 1 0 2 1.584963 1 0.000000 3 0.000000
## New.CleanUp.ReferenceOTU20966 0 0 0 1.000000 0 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 0 0 0 1.000000 1 0.000000 0 0.000000
## 81 72 31 86 20 19 63
## New.CleanUp.ReferenceOTU31068 2.000000 0.000000 0 0.000000 1 1 2.321928
## New.ReferenceOTU33 1.584963 5.584963 0 0.000000 0 0 0.000000
## New.ReferenceOTU122 5.209453 0.000000 0 1.584963 0 0 2.584963
## 360329 0.000000 3.169925 0 0.000000 0 0 1.584963
## New.CleanUp.ReferenceOTU20966 1.584963 0.000000 0 0.000000 0 0 0.000000
## New.CleanUp.ReferenceOTU6149 2.807355 1.584963 0 0.000000 0 0 0.000000
## 70 84 38 134 35 57 398 197
## New.CleanUp.ReferenceOTU31068 0 0.000000 1 1.000000 1 0 0 0.000000
## New.ReferenceOTU33 0 1.000000 0 2.584963 0 0 0 2.584963
## New.ReferenceOTU122 3 0.000000 0 2.000000 1 1 0 0.000000
## 360329 0 5.087463 0 0.000000 0 0 2 0.000000
## New.CleanUp.ReferenceOTU20966 0 2.584963 0 0.000000 0 0 0 0.000000
## New.CleanUp.ReferenceOTU6149 0 0.000000 0 2.321928 0 0 0 0.000000
## 27 37 83 2 33
## New.CleanUp.ReferenceOTU31068 3.906891 2.321928 3.584963 0.000000 0.000000
## New.ReferenceOTU33 0.000000 1.000000 1.000000 0.000000 0.000000
## New.ReferenceOTU122 0.000000 1.000000 1.000000 0.000000 2.584963
## 360329 2.807355 1.000000 0.000000 4.087463 0.000000
## New.CleanUp.ReferenceOTU20966 1.000000 0.000000 0.000000 1.000000 0.000000
## New.CleanUp.ReferenceOTU6149 1.000000 0.000000 0.000000 0.000000 0.000000
## 71 68 65 1 130
## New.CleanUp.ReferenceOTU31068 1.584963 0.000000 0.000000 0.000000 4.087463
## New.ReferenceOTU33 0.000000 4.087463 0.000000 3.459432 0.000000
## New.ReferenceOTU122 0.000000 0.000000 3.459432 0.000000 0.000000
## 360329 1.584963 3.700440 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.000000 0.000000 2.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 1.000000 1.000000 0.000000 1.000000
## 206 243 135 36 5 67
## New.CleanUp.ReferenceOTU31068 0 0 0.000000 1.000000 0 3.700440
## New.ReferenceOTU33 0 2 0.000000 1.000000 2 2.321928
## New.ReferenceOTU122 0 0 1.584963 1.000000 0 0.000000
## 360329 0 2 0.000000 1.000000 0 0.000000
## New.CleanUp.ReferenceOTU20966 0 0 0.000000 1.584963 1 0.000000
## New.CleanUp.ReferenceOTU6149 0 1 1.000000 0.000000 0 1.000000
## 3 41 7 45 60
## New.CleanUp.ReferenceOTU31068 0.000000 0 0.000000 1.000000 3.70044
## New.ReferenceOTU33 3.906891 0 0.000000 4.087463 0.00000
## New.ReferenceOTU122 0.000000 1 0.000000 0.000000 0.00000
## 360329 0.000000 0 1.584963 0.000000 4.00000
## New.CleanUp.ReferenceOTU20966 0.000000 0 1.000000 0.000000 0.00000
## New.CleanUp.ReferenceOTU6149 0.000000 0 0.000000 0.000000 0.00000
## 51 49 235 218 23 46 25
## New.CleanUp.ReferenceOTU31068 0.000000 1.584963 0 0.000000 0 1 0
## New.ReferenceOTU33 0.000000 2.000000 0 2.807355 0 0 0
## New.ReferenceOTU122 0.000000 1.000000 0 0.000000 0 0 0
## 360329 2.321928 0.000000 0 0.000000 0 0 0
## New.CleanUp.ReferenceOTU20966 0.000000 1.000000 0 1.000000 0 0 0
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0 0.000000 0 0 0
## 247 248 128 43 39
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 2.584963 1 2.321928
## New.ReferenceOTU33 1.584963 1.584963 5.321928 2 2.584963
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0 0.000000
## 360329 0.000000 3.000000 1.584963 2 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.584963 2.807355 0 0.000000
## New.CleanUp.ReferenceOTU6149 2.807355 0.000000 0.000000 0 0.000000
## 129 53 388 50 61
## New.CleanUp.ReferenceOTU31068 1.584963 0.000000 0 3.459432 0.000000
## New.ReferenceOTU33 0.000000 0.000000 0 4.754888 2.584963
## New.ReferenceOTU122 1.000000 1.584963 4 0.000000 1.000000
## 360329 3.807355 3.321928 0 3.000000 3.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.000000 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0 0.000000 3.000000
## 56 58 22 30 18
## New.CleanUp.ReferenceOTU31068 0.000000 1.000000 2.321928 2.321928 0.000000
## New.ReferenceOTU33 0.000000 0.000000 1.584963 2.584963 0.000000
## New.ReferenceOTU122 3.000000 0.000000 2.807355 2.807355 1.584963
## 360329 0.000000 4.584963 1.584963 1.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.000000 2.321928 3.700440 0.000000
## New.CleanUp.ReferenceOTU6149 1.584963 0.000000 0.000000 1.584963 0.000000
## 42 59 40 52 34
## New.CleanUp.ReferenceOTU31068 3.459432 1.584963 0.000000 3.584963 3.321928
## New.ReferenceOTU33 4.643856 0.000000 0.000000 4.321928 0.000000
## New.ReferenceOTU122 0.000000 0.000000 1.584963 0.000000 1.000000
## 360329 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 2.807355 0.000000
## 47 62 17
## New.CleanUp.ReferenceOTU31068 2.807355 0.000000 0
## New.ReferenceOTU33 1.000000 0.000000 0
## New.ReferenceOTU122 3.000000 5.357552 0
## 360329 0.000000 1.000000 0
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 1
## New.CleanUp.ReferenceOTU6149 1.584963 0.000000 0
head(heal.css.norm)
## 132 131 8 6
## New.CleanUp.ReferenceOTU31068 8.456989 0.0000000 0.000000 0.000000
## New.ReferenceOTU33 11.059140 10.8682635 0.000000 0.000000
## New.ReferenceOTU122 22.768817 0.0000000 1.124535 0.000000
## 360329 13.010753 2.7170659 0.000000 4.342105
## New.CleanUp.ReferenceOTU20966 0.000000 1.8113772 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 3.903226 0.4528443 0.000000 0.000000
## 85 4 82 81
## New.CleanUp.ReferenceOTU31068 3.9672131 0.000000 0.000000 2.708955
## New.ReferenceOTU33 3.9672131 0.000000 0.000000 1.805970
## New.ReferenceOTU122 5.9508197 0.000000 1.873065 32.507463
## 360329 1.9836066 7.784926 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.9918033 0.000000 0.000000 1.805970
## New.CleanUp.ReferenceOTU6149 0.9918033 0.000000 0.000000 5.417910
## 72 86 84 134
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 0.0000000 0.8197832
## New.ReferenceOTU33 34.094724 0.000000 0.8287671 4.0989160
## New.ReferenceOTU122 0.000000 1.850153 0.0000000 2.4593496
## 360329 5.803357 0.000000 27.3493151 0.0000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 4.1438356 0.0000000
## New.CleanUp.ReferenceOTU6149 1.450839 0.000000 0.0000000 3.2791328
## 83 2 71 1
## New.CleanUp.ReferenceOTU31068 18.183060 0.0000000 3.757764 0.000000
## New.ReferenceOTU33 1.653005 0.0000000 0.000000 10.651408
## New.ReferenceOTU122 1.653005 0.0000000 0.000000 0.000000
## 360329 0.000000 15.7142857 3.757764 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.9821429 0.000000 3.195423
## New.CleanUp.ReferenceOTU6149 0.000000 0.0000000 0.000000 0.000000
## 130 5 3 7
## New.CleanUp.ReferenceOTU31068 16.133333 0.000000 0.0000 0.000000
## New.ReferenceOTU33 0.000000 3.558824 15.4562 0.000000
## New.ReferenceOTU122 0.000000 0.000000 0.0000 0.000000
## 360329 0.000000 0.000000 0.0000 2.713004
## New.CleanUp.ReferenceOTU20966 0.000000 1.186275 0.0000 1.356502
## New.CleanUp.ReferenceOTU6149 1.008333 0.000000 0.0000 0.000000
##Export normalized and/or logged counts
##These will be used later on for building heat maps.
##Exporting normalized counts
write.table(dss.feces.css.norm, "dss.feces/dss.feces.css.norm.txt", sep="\t")
write.table(heal.css.norm, "dss.feces/heal.css.norm.txt", sep="\t")
write.table(dss.css.norm, "dss.feces/dss.css.norm.txt", sep="\t")
##Exporting normalized and logged counts
write.table(dss.feces.css.norm.log, "dss.feces/dss.feces.css.norm.log.txt", sep="\t")
write.table(heal.css.norm.log, "dss.feces/heal.css.norm.log.txt", sep="\t")
write.table(dss.css.norm.log, "dss.feces/dss.css.norm.log.txt", sep="\t")
##-------------Plotting PCoA from DESeq2
##Make Copies of original Phyloseq options to manipulate
DSSFecesStr_plus.rlog <- DSSFecesStr
DSSFecesStr_plus.vst <- DSSFecesStr
##Add the variance stabilized values and rlog transformed values to phyloseq objects.
otu_table(DSSFecesStr_plus.vst) <- otu_table(DSSFecesStr_vst, taxa_are_rows = TRUE)
otu_table(DSSFecesStr_plus.rlog) <- otu_table(DSSFecesStr_rlog.matrix, taxa_are_rows = TRUE)
##Create subsets of datasets as desired.
##Subset the data to only include important time points; perhaps this will help graphs appear more clear.
DSSFecesStr_plus.rlog_sub <- subset_samples(DSSFecesStr_plus.rlog, TrialTime=="DSS_Base1"| TrialTime =="DSS_Day2" | TrialTime=="DSS_Day4"| TrialTime=="DSS_Day6" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day10")
DSSFecesStr_plus.vst_sub <- subset_samples(DSSFecesStr_plus.vst, TrialTime=="DSS_Base1"| TrialTime =="DSS_Day2" | TrialTime=="DSS_Day4"| TrialTime=="DSS_Day6" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day10")
##Create a PCoA plot to compare the effects of the two transformations.
##First ordinate the data, weighted Unifrac is typically a good option to separate samples.
##Use set.seed() prior to any ordinations to allow for the same root of the phylogenetic tree to be used each time. Random OTUs are selected to become the root, but set.seed keeps the choice of that OTU the same for each ordination.
set.seed(2)
DSSFecesStr_vst_ord <- ordinate(DSSFecesStr_plus.vst, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_vst_ord_qual <- ordinate(DSSFecesStr_plus.vst, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_vst_ord_sub <- ordinate(DSSFecesStr_plus.vst_sub, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_vst_ord_qual_sub <- ordinate(DSSFecesStr_plus.vst_sub, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_rlog_ord <- ordinate(DSSFecesStr_plus.rlog, method="PCoA", distance = "unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_rlog_ord_qual <- ordinate(DSSFecesStr_plus.rlog, method="PCoA", distance = "unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_rlog_ord_sub <- ordinate(DSSFecesStr_plus.rlog_sub, method="PCoA", distance = "unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
set.seed(2)
DSSFecesStr_rlog_ord_qual_sub <- ordinate(DSSFecesStr_plus.rlog_sub, method="PCoA", distance = "unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as -- 179806 -- in
## the phylogenetic tree in the data you provided.
###Compare trends on even days only, excluding samples from other studies (pilot data alone)
##rlog transformation
rlog.pcoa <- plot_ordination(DSSFecesStr_plus.rlog, DSSFecesStr_rlog_ord, color = "TrialTime") + scale_color_manual(values=tol84rainbow, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
rlog.pcoa
## Warning in MASS::cov.trob(data[, vars]): Probable convergence failure
## Warning in MASS::cov.trob(data[, vars]): Probable convergence failure
rlog.qual.pcoa <- plot_ordination(DSSFecesStr_plus.rlog, DSSFecesStr_rlog_ord_qual, color = "TrialTime") + scale_color_manual(values=tol84rainbow, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
rlog.qual.pcoa
##Probable convergence failures?
##rlog transformation for subsetted data
rlog.pcoa.sub <- plot_ordination(DSSFecesStr_plus.rlog_sub, DSSFecesStr_rlog_ord_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
rlog.pcoa.sub
rlog.qual.pcoa.sub <- plot_ordination(DSSFecesStr_plus.rlog_sub, DSSFecesStr_rlog_ord_qual_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
rlog.qual.pcoa.sub
##VST Transformation
vst.pcoa <- plot_ordination(DSSFecesStr_plus.vst, DSSFecesStr_vst_ord, color = "TrialTime") + scale_color_manual(values=tol84rainbow, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
vst.pcoa
vst.qual.pcoa <- plot_ordination(DSSFecesStr_plus.vst, DSSFecesStr_vst_ord_qual, color = "TrialTime") + scale_color_manual(values=tol84rainbow, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
vst.qual.pcoa
##Probable convergence failures?
##vst transformation for subsetted data
vst.pcoa.sub <- plot_ordination(DSSFecesStr_plus.vst_sub, DSSFecesStr_vst_ord_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
vst.pcoa.sub
vst.qual.pcoa.sub <- plot_ordination(DSSFecesStr_plus.vst_sub, DSSFecesStr_vst_ord_qual_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
vst.qual.pcoa.sub
## Warning in MASS::cov.trob(data[, vars]): Probable convergence failure
###----------Plotting PCoA from metagenomeSeq
##Make more copies of original phyloseq objects for manipulation
##One data set will use CSS normalized, log2 transformed data (as recommended by metagenomeSeq), while the other has the CSS normalized values only.
DSSFecesStr_css.log <- DSSFecesStr
DSSFecesStr_css <- DSSFecesStr
##Add the variance stabilized values to phyloseq objects.
otu_table(DSSFecesStr_css.log) <- otu_table(dss.feces.css.norm.log, taxa_are_rows = TRUE)
otu_table(DSSFecesStr_css) <- otu_table(dss.feces.css.norm, taxa_are_rows = TRUE)
##Subset the data to only include important time points; perhaps this will help graphs appear more clear.
DSSFecesStr_css.log_sub <- subset_samples(DSSFecesStr_css.log, TrialTime=="DSS_Base1"| TrialTime =="DSS_Day2" | TrialTime=="DSS_Day4"| TrialTime=="DSS_Day6" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day10")
DSSFecesStr_css_sub <- subset_samples(DSSFecesStr_css, TrialTime=="DSS_Base1"| TrialTime =="DSS_Day2" | TrialTime=="DSS_Day4"| TrialTime=="DSS_Day6" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day10")
##Create a PCoA plot to compare the effects of the two transformations.
##First ordinate the data, weighted Unifrac is typically a good option to separate samples.
##Set seed ensures that the same OTU is used to define the root of the tree, every time.
set.seed(2)
DSSFecesStr_css.log_ord <- ordinate(DSSFecesStr_css.log, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css.log_ord_qual <- ordinate(DSSFecesStr_css.log, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css.log_ord_sub <- ordinate(DSSFecesStr_css.log_sub, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css.log_ord_qual_sub <- ordinate(DSSFecesStr_css.log_sub, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css_ord <- ordinate(DSSFecesStr_css, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css_ord_qual <- ordinate(DSSFecesStr_css, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css_ord_sub <- ordinate(DSSFecesStr_css_sub, method="PCoA", distance="unifrac", weighted=TRUE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
set.seed(2)
DSSFecesStr_css_ord_qual_sub <- ordinate(DSSFecesStr_css_sub, method="PCoA", distance="unifrac", weighted=FALSE)
## Warning in UniFrac(physeq, ...): Randomly assigning root as --
## New.CleanUp.ReferenceOTU19762 -- in the phylogenetic tree in the data you
## provided.
###Plots for CSS and Log2 transformed data
css.log.pcoa <- plot_ordination(DSSFecesStr_css.log, DSSFecesStr_css.log_ord, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
css.log.pcoa
css.log.qual.pcoa <- plot_ordination(DSSFecesStr_css.log, DSSFecesStr_css.log_ord_qual, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
css.log.qual.pcoa
css.log.pcoa.sub <- plot_ordination(DSSFecesStr_css.log_sub, DSSFecesStr_css.log_ord_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
css.log.pcoa.sub
css.log.qual.pcoa.sub <- plot_ordination(DSSFecesStr_css.log_sub, DSSFecesStr_css.log_ord_qual_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
css.log.qual.pcoa.sub
##Plots for CSS transformed data only
css.pcoa <- plot_ordination(DSSFecesStr_css, DSSFecesStr_css_ord, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
css.pcoa
css.qual.pcoa <- plot_ordination(DSSFecesStr_css, DSSFecesStr_css_ord_qual, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
css.qual.pcoa
css.pcoa.sub <- plot_ordination(DSSFecesStr_css_sub, DSSFecesStr_css_ord_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
css.pcoa.sub
css.qual.pcoa.sub <- plot_ordination(DSSFecesStr_css_sub, DSSFecesStr_css_ord_qual_sub, color = "TrialTime") + scale_color_manual(values=palette8.32, breaks=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Base2", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples")
css.qual.pcoa.sub
##Saving plot images from CSS and VST (best separation of samples)
tiff("css.log.pcoa.tiff", height=6, width=10, units="in", res=600)
css.log.pcoa
while (!is.null(dev.list())) dev.off()
tiff("css.log.qual.pcoa.tiff", height=6, width=10, units="in", res=600)
css.log.qual.pcoa
while (!is.null(dev.list())) dev.off()
tiff("css.pcoa.sub.tiff", height=6, width=10, units="in", res=600)
css.log.pcoa.sub
while (!is.null(dev.list())) dev.off()
tiff("css.log.qual.pcoa.sub.tiff", height=6, width=10, units="in", res=600)
css.log.qual.pcoa.sub
while (!is.null(dev.list())) dev.off()
tiff("vst.pcoa.tiff", height=6, width=10, units="in", res=600)
vst.pcoa
while (!is.null(dev.list())) dev.off()
tiff("vst.qual.pcoa.tiff", height=6, width=10, units="in", res=600)
vst.qual.pcoa
while (!is.null(dev.list())) dev.off()
tiff("vst.pcoa.sub.tiff", height=6, width=10, units="in", res=600)
vst.pcoa.sub
while (!is.null(dev.list())) dev.off()
tiff("vst.qual.pcoa.sub.tiff", height=6, width=10, units="in", res=600)
vst.qual.pcoa.sub
## Warning in MASS::cov.trob(data[, vars]): Probable convergence failure
while (!is.null(dev.list())) dev.off()
Normalization makes a difference! These plots are not as easily visualized after normalization with DESeq2
##After trimming and performing CSS normalization and a log transformation in metagenomeSeq, normalized counts replaced raw counts in the phyloseq otu_table.
DSSFecesStr_css.log
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 845 taxa and 85 samples ]
## sample_data() Sample Data: [ 85 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 845 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 845 tips and 843 internal nodes ]
merge.norm.trialtime <- merge_samples(DSSFecesStr_css.log, "TrialTime", fun=mean)
merge.norm.trialtime
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 845 taxa and 13 samples ]
## sample_data() Sample Data: [ 13 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 845 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 845 tips and 843 internal nodes ]
##Subset the dataset into DSS vs. Heal sections
#Removing even days from DSS Feces Data (during DSS treatment)
norm.trialtime.dss <- subset_samples(DSSFecesStr_css.log, TrialTime=="DSS_Base1" | TrialTime=="DSS_Day1" | TrialTime=="DSS_Day2" | TrialTime=="DSS_Day3" | TrialTime=="DSS_Day4" | TrialTime=="DSS_Day5" | TrialTime=="DSS_Day6" | TrialTime=="DSS_Day7")
norm.trialtime.dss
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 845 taxa and 62 samples ]
## sample_data() Sample Data: [ 62 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 845 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 845 tips and 843 internal nodes ]
norm.trialtime.dss <- merge_samples(norm.trialtime.dss, "TrialTime", fun=mean)
norm.trialtime.heal <- subset_samples(DSSFecesStr_css.log, TrialTime=="DSS_Base1" | TrialTime=="DSS_Day7" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day9" | TrialTime=="DSS_Day10")
norm.trialtime.heal
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 845 taxa and 28 samples ]
## sample_data() Sample Data: [ 28 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 845 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 845 tips and 843 internal nodes ]
norm.trialtime.heal <- merge_samples(norm.trialtime.heal, "TrialTime", fun=mean)
#Core microbiome is defined by a particular detection level (here, 1% detection required), and a threshold for prevalence (here, taxa must be 50% prevalent to be shown).
#Prevalence theshold is the proportion of the samples in which a taxon must be detected for it to be included in the core. This parameter has a greater effect on the number of taxa included in the core than the detection threshold.
#Detection threshold is the relative abundance at which a taxon must be detected for it to be considered "present." Also termed the compositional abundance threshold. A taxon must make up at least this percent of the sample to be included. This appears to have no effect on the core microbiome output, at least for this dataset, as samples with <1% relative abundance are still included in the listed output (but not in the plot).
#Make a core microbiome for DSSFeces (From entire normalized dataset)
norm.trialtime_core <- core(merge.norm.trialtime, detection=1/100, prevalence=70/100)
norm.trialtime_core.rel <- transform(norm.trialtime_core, "compositional") #transforms into relative abundance
norm.trialtime_core.rel # with 1% detection and 70% prevalence, 748 taxa retained out of 822.
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 748 taxa and 13 samples ]
## sample_data() Sample Data: [ 13 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 748 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 748 tips and 746 internal nodes ]
head(prevalence(norm.trialtime_core.rel, detection = 1/100, sort = TRUE)) # many taxa still make up less than 1% relative abundance.
## New.ReferenceOTU283 New.CleanUp.ReferenceOTU19651
## 0 0
## 158211 New.CleanUp.ReferenceOTU23121
## 0 0
## New.CleanUp.ReferenceOTU16932 462585
## 0 0
#Core microbiome for DSS timepoints.
norm.trialtime.dss_core <- core(norm.trialtime.dss, detection=1/100, prevalence=70/100)
norm.trialtime.dss_core.rel <- transform(norm.trialtime.dss_core, "compositional") #transforms into relative abundance
norm.trialtime.dss_core.rel # with 1% detection and 70% prevalence, 819 taxa retained out of 845.
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 819 taxa and 8 samples ]
## sample_data() Sample Data: [ 8 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 819 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 819 tips and 817 internal nodes ]
head(prevalence(norm.trialtime.dss_core.rel, detection = 1/100, sort = TRUE)) # many taxa still make up less than 1% relative abundance.
## New.ReferenceOTU283 New.CleanUp.ReferenceOTU19651
## 0 0
## 158211 New.CleanUp.ReferenceOTU23121
## 0 0
## New.CleanUp.ReferenceOTU10472 New.CleanUp.ReferenceOTU16932
## 0 0
#Core microbiome for Heal time points.
norm.trialtime.heal_core <- core(norm.trialtime.heal, detection=1/100, prevalence=70/100)
norm.trialtime.heal_core.rel <- transform(norm.trialtime.heal_core, "compositional") #transforms into relative abundance
norm.trialtime.heal_core.rel # with 1% detection and 70% prevalence, 706 taxa retained out of 845.
## phyloseq-class experiment-level object
## otu_table() OTU Table: [ 706 taxa and 5 samples ]
## sample_data() Sample Data: [ 5 samples by 7 sample variables ]
## tax_table() Taxonomy Table: [ 706 taxa by 7 taxonomic ranks ]
## phy_tree() Phylogenetic Tree: [ 706 tips and 704 internal nodes ]
head(prevalence(norm.trialtime.heal_core.rel, detection = 1/100, sort = TRUE)) # many taxa still make up less than 1% relative abundance.
## New.CleanUp.ReferenceOTU19651 158211
## 0 0
## New.CleanUp.ReferenceOTU23121 New.CleanUp.ReferenceOTU16932
## 0 0
## 462585 New.CleanUp.ReferenceOTU26293
## 0 0
###GENERATING PLOTS
##plotting core microbiome for DSS Feces (order)
dssfeces.norm.core_plot <- plot_bar(norm.trialtime_core.rel, fill="Order", title="Relative Abundance in Feces at Order Level") + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + xlab("Time Point") + ylab("Relative Abundance")
dssfeces.norm.core_plot
##plotting core microbiome for DSS time points (Order)
dss.norm.core_plot <- plot_bar(norm.trialtime.dss_core.rel, fill="Order", title="Relative Abundance in Feces at Order Level") + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7"), labels=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7"))
dss.norm.core_plot
##plotting core microbiome for Heal time points (Order)
heal.norm.core_plot <- plot_bar(norm.trialtime.heal_core.rel, fill="Order", title="Relative Abundance in Feces at Order Level") + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day8", "DSS_Day9", "DSS_Day10"), labels=c("DSS_Base1", "DSS_Day8", "DSS_Day9", "DSS_Day10"))
heal.norm.core_plot
## Warning: Removed 706 rows containing missing values (position_stack).
## Warning: Removed 706 rows containing missing values (position_stack).
##Plot core microbiome at family level
##Whole dataset, excluding base 2
dssfeces.norm.core_plot_fam <- plot_bar(norm.trialtime_core.rel, fill="Family", title="Relative Abundance in Feces at Family Level") + geom_bar(aes(color=Family, fill=Family), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10"), labels=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7", "DSS_Day8", "DSS_Day9", "DSS_Day10", "FF_Base1", "FF_Day10")) + xlab("Time Point") + ylab("Relative Abundance")
dssfeces.norm.core_plot_fam
##Plotting core microbiome for DSS time points only
dss.norm.core_plot_fam <- plot_bar(norm.trialtime.dss_core.rel, fill="Family", title="Relative Abundance in Feces at Family Level") + geom_bar(aes(color=Family, fill=Family), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7"), labels=c("DSS_Base1", "DSS_Day1" , "DSS_Day2", "DSS_Day3", "DSS_Day4", "DSS_Day5", "DSS_Day6", "DSS_Day7"))
dss.norm.core_plot_fam
##plotting core microbiome for Heal time points
heal.norm.core_plot_fam <- plot_bar(norm.trialtime.heal_core.rel, fill="Family", title="Relative Abundance in Feces at Family Level") + geom_bar(aes(color=Family, fill=Family), stat="identity", position="stack") + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72) + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_x_discrete(limits=c("DSS_Base1", "DSS_Day8", "DSS_Day9", "DSS_Day10"), labels=c("DSS_Base1", "DSS_Day8", "DSS_Day9", "DSS_Day10"))
heal.norm.core_plot_fam
## Warning: Removed 706 rows containing missing values (position_stack).
## Warning: Removed 706 rows containing missing values (position_stack).
##Save images from Normalized count plots:
tiff("dssfeces.norm.core_plot.tiff", height=6, width=10, units="in", res=600)
dssfeces.norm.core_plot
while (!is.null(dev.list())) dev.off()
tiff("dss.norm.core_plot.tiff", height=6, width=10, units="in", res=600)
dss.norm.core_plot
while (!is.null(dev.list())) dev.off()
tiff("heal.norm.core_plot.tiff", height=6, width=10, units="in", res=600)
heal.norm.core_plot
## Warning: Removed 706 rows containing missing values (position_stack).
## Warning: Removed 706 rows containing missing values (position_stack).
while (!is.null(dev.list())) dev.off()
tiff("dssfeces.norm.core_plot_fam.tiff", height=6, width=10, units="in", res=600)
dssfeces.norm.core_plot_fam
while (!is.null(dev.list())) dev.off()
tiff("dss.norm.core_plot_fam.tiff", height=6, width=10, units="in", res=600)
dss.norm.core_plot_fam
while (!is.null(dev.list())) dev.off()
tiff("heal.norm.core_plot_fam.tiff", height=6, width=10, units="in", res=600)
heal.norm.core_plot_fam
## Warning: Removed 706 rows containing missing values (position_stack).
## Warning: Removed 706 rows containing missing values (position_stack).
while (!is.null(dev.list())) dev.off()
#creating a table of results from Differential Abundance testing.
#when using contrast, must specify exactly 3 elements: first, the name of the factor in you design formula (which variable did you use to design your deseq dataset?), second, the name for the numerator level for the fold change, and third, the denominator level for the fold change. More info use > ?results
#use head(resultsNames()) to get an idea of the names of your factors and characters.
#In final graph, positive log2foldchange values indicate taxa which are significantly more abundant in the numerator (Here, the latter time point) compared to the denominator (earlier time point). Negative log2foldchange values would indicate taxa which are significantly less abundant in the numerator.
DSSFecesStr_deseq
## class: DESeqDataSet
## dim: 1192 93
## metadata(1): version
## assays(3): counts mu cooks
## rownames(1192): New.CleanUp.ReferenceOTU10212
## New.CleanUp.ReferenceOTU31068 ... New.CleanUp.ReferenceOTU19651
## New.ReferenceOTU283
## rowData names(69): baseMean baseVar ... deviance maxCooks
## colnames(93): 133 132 ... 15 14
## colData names(8): X.SampleID BarcodeSequence ... Description
## sizeFactor
resultsNames(DSSFecesStr_deseq)
## [1] "Intercept" "TrialTime_DSS_Base2_vs_DSS_Base1"
## [3] "TrialTime_DSS_Day1_vs_DSS_Base1" "TrialTime_DSS_Day10_vs_DSS_Base1"
## [5] "TrialTime_DSS_Day2_vs_DSS_Base1" "TrialTime_DSS_Day3_vs_DSS_Base1"
## [7] "TrialTime_DSS_Day4_vs_DSS_Base1" "TrialTime_DSS_Day5_vs_DSS_Base1"
## [9] "TrialTime_DSS_Day6_vs_DSS_Base1" "TrialTime_DSS_Day7_vs_DSS_Base1"
## [11] "TrialTime_DSS_Day8_vs_DSS_Base1" "TrialTime_DSS_Day9_vs_DSS_Base1"
## [13] "TrialTime_FF_Base1_vs_DSS_Base1" "TrialTime_FF_Day10_vs_DSS_Base1"
#Should probably use metagenomeSeq to produce similar pairwise outputs as shown here?
#Set up is similar to contrasts matrix from limma
#ideally, summary should show LFC values that are not zero. If they are all 0, you will not be able to proceed with adjusted p-values.
#Compare Day 7 to Baseline
DSSFecesStr_d7base <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day7", "DSS_Base1"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d7base)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 56, 4.7%
## LFC < 0 (down) : 44, 3.7%
## outliers [1] : 152, 13%
## low counts [2] : 419, 35%
## (mean count < 1)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
#Compare Day 10 to Day 7
DSSFecesStr_d10d7 <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day10", "DSS_Day7"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d10d7)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 3, 0.25%
## LFC < 0 (down) : 2, 0.17%
## outliers [1] : 152, 13%
## low counts [2] : 0, 0%
## (mean count < 0)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
##Compare d7 to d1
DSSFecesStr_d7d1 <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day7", "DSS_Day1"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d7d1)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 44, 3.7%
## LFC < 0 (down) : 20, 1.7%
## outliers [1] : 152, 13%
## low counts [2] : 458, 38%
## (mean count < 1)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
##Compare d7 to d4
DSSFecesStr_d7d4 <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day7", "DSS_Day4"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d7d4)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 4, 0.34%
## LFC < 0 (down) : 17, 1.4%
## outliers [1] : 152, 13%
## low counts [2] : 402, 34%
## (mean count < 1)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
##Compare d4 to Baseline
DSSFecesStr_d4base <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day4", "DSS_Base1"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d4base)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 75, 6.3%
## LFC < 0 (down) : 31, 2.6%
## outliers [1] : 152, 13%
## low counts [2] : 458, 38%
## (mean count < 1)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
##Compare d10 to Baseline
DSSFecesStr_d10base <- results(DSSFecesStr_deseq, contrast=c("TrialTime", "DSS_Day10", "DSS_Base1"), cooksCutoff = TRUE, independentFiltering = TRUE, pAdjustMethod = "fdr")
summary(DSSFecesStr_d10base)
##
## out of 1192 with nonzero total read count
## adjusted p-value < 0.1
## LFC > 0 (up) : 53, 4.4%
## LFC < 0 (down) : 22, 1.8%
## outliers [1] : 152, 13%
## low counts [2] : 477, 40%
## (mean count < 1)
## [1] see 'cooksCutoff' argument of ?results
## [2] see 'independentFiltering' argument of ?results
#order by p-value and remove entries with NA
alpha <- 0.05
DSSFecesStr_d7base_sig <- DSSFecesStr_d7base[which(DSSFecesStr_d7base$padj < alpha), ]
DSSFecesStr_d10d7_sig <- DSSFecesStr_d10d7[which(DSSFecesStr_d10d7$padj < alpha), ]
DSSFecesStr_d7d1_sig <- DSSFecesStr_d7d1[which(DSSFecesStr_d7d1$padj < alpha), ]
DSSFecesStr_d7d4_sig <- DSSFecesStr_d7d4[which(DSSFecesStr_d7d4$padj < alpha), ]
DSSFecesStr_d4base_sig <- DSSFecesStr_d4base[which(DSSFecesStr_d4base$padj < alpha), ]
DSSFecesStr_d10base_sig <- DSSFecesStr_d10base[which(DSSFecesStr_d10base$padj < alpha), ]
#Making dataframe of results and add taxonomic labels for plotting
DSSFecesStr_d7base_sig <- cbind(as(DSSFecesStr_d7base_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d7base_sig), ], "matrix"))
DSSFecesStr_d10d7_sig <- cbind(as(DSSFecesStr_d10d7_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d10d7_sig), ], "matrix"))
DSSFecesStr_d7d1_sig <- cbind(as(DSSFecesStr_d7d1_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d7d1_sig), ], "matrix"))
DSSFecesStr_d7d4_sig <- cbind(as(DSSFecesStr_d7d4_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d7d4_sig), ], "matrix"))
DSSFecesStr_d4base_sig <- cbind(as(DSSFecesStr_d4base_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d4base_sig), ], "matrix"))
DSSFecesStr_d10base_sig <- cbind(as(DSSFecesStr_d10base_sig, "data.frame"), as(tax_table(DSSFecesStr_sub)[rownames(DSSFecesStr_d10base_sig), ], "matrix"))
#Add column names.
DSSFecesStr_d7base_sig <- DSSFecesStr_d7base_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
DSSFecesStr_d10d7_sig <- DSSFecesStr_d10d7_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
DSSFecesStr_d7d1_sig <- DSSFecesStr_d7d1_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
DSSFecesStr_d7d4_sig <- DSSFecesStr_d7d4_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
DSSFecesStr_d4base_sig <- DSSFecesStr_d4base_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
DSSFecesStr_d10base_sig <- DSSFecesStr_d10base_sig[, c("baseMean", "log2FoldChange", "lfcSE", "padj", "Phylum", "Class", "Family", "Genus", "Species")]
#subsetting families for results plotted
DSSFecesStr_d7base_sig_fam <- subset(DSSFecesStr_d7base_sig, !is.na(Family))
DSSFecesStr_d10d7_sig_fam <- subset(DSSFecesStr_d10d7_sig, !is.na(Family))
DSSFecesStr_d7d1_sig_fam <- subset(DSSFecesStr_d7d1_sig, !is.na(Family))
DSSFecesStr_d7d4_sig_fam <- subset(DSSFecesStr_d7d4_sig, !is.na(Family))
DSSFecesStr_d4base_sig_fam <- subset(DSSFecesStr_d4base_sig, !is.na(Family))
DSSFecesStr_d10base_sig_fam <- subset(DSSFecesStr_d10base_sig, !is.na(Family))
#subsetting genera
DSSFecesStr_d7base_sig_gen <- subset(DSSFecesStr_d7base_sig, !is.na(Genus))
DSSFecesStr_d10d7_sig_gen <-subset(DSSFecesStr_d10d7_sig, !is.na(Genus))
DSSFecesStr_d7d1_sig_gen <-subset(DSSFecesStr_d7d1_sig, !is.na(Genus))
DSSFecesStr_d7d4_sig_gen <-subset(DSSFecesStr_d7d4_sig, !is.na(Genus))
DSSFecesStr_d4base_sig_gen <-subset(DSSFecesStr_d4base_sig, !is.na(Genus))
DSSFecesStr_d10base_sig_gen <-subset(DSSFecesStr_d10base_sig, !is.na(Genus))
#Ordering by Family
#changes in d7 compared to baseline
DSSFecesStr_d7base_sig_fam_fam <- tapply(DSSFecesStr_d7base_sig_fam$log2FoldChange, DSSFecesStr_d7base_sig_fam$Family, function(DSSFecesStr_d7base_sig_fam_fam) max(DSSFecesStr_d7base_sig_fam_fam))
DSSFecesStr_d7base_sig_fam_fam <- sort(DSSFecesStr_d7base_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d7base_sig_fam$Family <- factor(as.character(DSSFecesStr_d7base_sig_fam$Family), levels=names(DSSFecesStr_d7base_sig_fam_fam))
#changes in d10 compared to d7
DSSFecesStr_d10d7_sig_fam_fam <- tapply(DSSFecesStr_d10d7_sig_fam$log2FoldChange, DSSFecesStr_d10d7_sig_fam$Family, function(DSSFecesStr_d10d7_sig_fam_fam) max(DSSFecesStr_d10d7_sig_fam_fam))
DSSFecesStr_d10d7_sig_fam_fam <- sort(DSSFecesStr_d10d7_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d10d7_sig_fam$Family <- factor(as.character(DSSFecesStr_d10d7_sig_fam$Family), levels=names(DSSFecesStr_d10d7_sig_fam_fam))
#changes in d7 compared to d1
DSSFecesStr_d7d1_sig_fam_fam <- tapply(DSSFecesStr_d7d1_sig_fam$log2FoldChange, DSSFecesStr_d7d1_sig_fam$Family, function(DSSFecesStr_d7d1_sig_fam_fam) max(DSSFecesStr_d7d1_sig_fam_fam))
DSSFecesStr_d7d1_sig_fam_fam <- sort(DSSFecesStr_d7d1_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d7d1_sig_fam$Family <- factor(as.character(DSSFecesStr_d7d1_sig_fam$Family), levels=names(DSSFecesStr_d7d1_sig_fam_fam))
#changes in d7 compared to d4
DSSFecesStr_d7d4_sig_fam_fam <- tapply(DSSFecesStr_d7d4_sig_fam$log2FoldChange, DSSFecesStr_d7d4_sig_fam$Family, function(DSSFecesStr_d7d4_sig_fam_fam) max(DSSFecesStr_d7d4_sig_fam_fam))
DSSFecesStr_d7d4_sig_fam_fam <- sort(DSSFecesStr_d7d4_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d7d4_sig_fam$Family <- factor(as.character(DSSFecesStr_d7d4_sig_fam$Family), levels=names(DSSFecesStr_d7d4_sig_fam_fam))
#changes in d4 compared to baseline
DSSFecesStr_d4base_sig_fam_fam <- tapply(DSSFecesStr_d4base_sig_fam$log2FoldChange, DSSFecesStr_d4base_sig_fam$Family, function(DSSFecesStr_d4base_sig_fam_fam) max(DSSFecesStr_d4base_sig_fam_fam))
DSSFecesStr_d4base_sig_fam_fam <- sort(DSSFecesStr_d4base_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d4base_sig_fam$Family <- factor(as.character(DSSFecesStr_d4base_sig_fam$Family), levels=names(DSSFecesStr_d4base_sig_fam_fam))
#changes in d10 compared to baseline
DSSFecesStr_d10base_sig_fam_fam <- tapply(DSSFecesStr_d10base_sig_fam$log2FoldChange, DSSFecesStr_d10base_sig_fam$Family, function(DSSFecesStr_d10base_sig_fam_fam) max(DSSFecesStr_d10base_sig_fam_fam))
DSSFecesStr_d10base_sig_fam_fam <- sort(DSSFecesStr_d10base_sig_fam_fam, TRUE)
#Families signifcantly different between groups
DSSFecesStr_d10base_sig_fam$Family <- factor(as.character(DSSFecesStr_d10base_sig_fam$Family), levels=names(DSSFecesStr_d10base_sig_fam_fam))
##Ordering by Genus
##Changes in Day 7 vs. Baseline
DSSFecesStr_d7base_sig_gen_gen <- tapply(DSSFecesStr_d7base_sig_gen$log2FoldChange, DSSFecesStr_d7base_sig_gen$Genus, function(DSSFecesStr_d7base_sig_gen_gen) max(DSSFecesStr_d7base_sig_gen_gen))
DSSFecesStr_d7base_sig_gen_gen <- sort(DSSFecesStr_d7base_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d7base_sig_gen$Genus <- factor(as.character(DSSFecesStr_d7base_sig_gen$Genus), levels=names(DSSFecesStr_d7base_sig_gen_gen))
##Changes in d10 vs. d7
DSSFecesStr_d10d7_sig_gen_gen <- tapply(DSSFecesStr_d10d7_sig_gen$log2FoldChange, DSSFecesStr_d10d7_sig_gen$Genus, function(DSSFecesStr_d10d7_sig_gen_gen) max(DSSFecesStr_d10d7_sig_gen_gen))
DSSFecesStr_d10d7_sig_gen_gen <- sort(DSSFecesStr_d10d7_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d10d7_sig_gen$Genus <- factor(as.character(DSSFecesStr_d10d7_sig_gen$Genus), levels=names(DSSFecesStr_d10d7_sig_gen_gen))
##Changes in d7 vs. d1
DSSFecesStr_d7d1_sig_gen_gen <- tapply(DSSFecesStr_d7d1_sig_gen$log2FoldChange, DSSFecesStr_d7d1_sig_gen$Genus, function(DSSFecesStr_d7d1_sig_gen_gen) max(DSSFecesStr_d7d1_sig_gen_gen))
DSSFecesStr_d7d1_sig_gen_gen <- sort(DSSFecesStr_d7d1_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d7d1_sig_gen$Genus <- factor(as.character(DSSFecesStr_d7d1_sig_gen$Genus), levels=names(DSSFecesStr_d7d1_sig_gen_gen))
##Changes in d7 vs. d4
DSSFecesStr_d7d4_sig_gen_gen <- tapply(DSSFecesStr_d7d4_sig_gen$log2FoldChange, DSSFecesStr_d7d4_sig_gen$Genus, function(DSSFecesStr_d7d4_sig_gen_gen) max(DSSFecesStr_d7d4_sig_gen_gen))
DSSFecesStr_d7d4_sig_gen_gen <- sort(DSSFecesStr_d7d4_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d7d4_sig_gen$Genus <- factor(as.character(DSSFecesStr_d7d4_sig_gen$Genus), levels=names(DSSFecesStr_d7d4_sig_gen_gen))
##Changes in d4 vs. Baseline
DSSFecesStr_d4base_sig_gen_gen <- tapply(DSSFecesStr_d4base_sig_gen$log2FoldChange, DSSFecesStr_d4base_sig_gen$Genus, function(DSSFecesStr_d4base_sig_gen_gen) max(DSSFecesStr_d4base_sig_gen_gen))
DSSFecesStr_d4base_sig_gen_gen <- sort(DSSFecesStr_d4base_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d4base_sig_gen$Genus <- factor(as.character(DSSFecesStr_d4base_sig_gen$Genus), levels=names(DSSFecesStr_d4base_sig_gen_gen))
##Changes in d10 vs. Baseline
DSSFecesStr_d10base_sig_gen_gen <- tapply(DSSFecesStr_d10base_sig_gen$log2FoldChange, DSSFecesStr_d10base_sig_gen$Genus, function(DSSFecesStr_d10base_sig_gen_gen) max(DSSFecesStr_d10base_sig_gen_gen))
DSSFecesStr_d10base_sig_gen_gen <- sort(DSSFecesStr_d10base_sig_gen_gen, TRUE)
#Genera signifcantly different between groups
DSSFecesStr_d10base_sig_gen$Genus <- factor(as.character(DSSFecesStr_d10base_sig_gen$Genus), levels=names(DSSFecesStr_d10base_sig_gen_gen))
###Making Plots!
#Plots of log2 fold changes (smilar to a LEfSe plot with LDA values above or below a particular threshold).
#Assigning colors to Phylums (PLAY WITH THIS LATER)
#cbPalette <- c("p__Bacteroidetes"= "#009E73","p__Firmicutes"="#CC79A7","p__Actinobacteria"="#56B4E9","p__Proteobacteria"="#000000","p__Spirochaetes"="#F0E442","p__Lentisphaerae"="#0072B2","p__Tenericutes"="#D55E00","p__Verrucomicrobia"="#E69F00","p__Euryarchaeota"="#999999")
##Changes in Families
DSSFecesStr_d7base_log2diffs <- ggplot(DSSFecesStr_d7base_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Feces from Day 7, vs. Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7base_log2diffs
DSSFecesStr_d10d7_log2diffs <- ggplot(DSSFecesStr_d10d7_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 10 compared to Day 7")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d10d7_log2diffs
DSSFecesStr_d7d1_log2diffs <- ggplot(DSSFecesStr_d7d1_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 7 compared to Day 1")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7d1_log2diffs
DSSFecesStr_d7d4_log2diffs <- ggplot(DSSFecesStr_d7d4_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 7 compared to Day 4")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7d4_log2diffs
DSSFecesStr_d4base_log2diffs <- ggplot(DSSFecesStr_d4base_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 4 compared to Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d4base_log2diffs
DSSFecesStr_d10base_log2diffs <- ggplot(DSSFecesStr_d10base_sig_fam, aes(y=Family, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 10 compared to Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d10base_log2diffs
##Changes in Genus
DSSFecesStr_d7base_log2diffs_gen <- ggplot(DSSFecesStr_d7base_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Feces from Day 7, vs. Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7base_log2diffs_gen
DSSFecesStr_d10d7_log2diffs_gen <- ggplot(DSSFecesStr_d10d7_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 10 compared to Day 7")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d10d7_log2diffs_gen
DSSFecesStr_d7d1_log2diffs_gen <- ggplot(DSSFecesStr_d7d1_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 7 compared to Day 1")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7d1_log2diffs_gen
DSSFecesStr_d7d4_log2diffs_gen <- ggplot(DSSFecesStr_d7d4_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 7 compared to Day 4")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d7d4_log2diffs_gen
DSSFecesStr_d4base_log2diffs_gen <- ggplot(DSSFecesStr_d4base_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 4 compared to Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d4base_log2diffs_gen
DSSFecesStr_d10base_log2diffs_gen <- ggplot(DSSFecesStr_d10base_sig_gen, aes(y=Genus, x=log2FoldChange, color=Phylum)) +
geom_vline(xintercept = 0.0, color = "gray", size = 0.5)+
scale_colour_manual(values = palette8.32)+
geom_point(size=4)+
ggtitle("Taxa Significantly Shifted in Day 10 compared to Baseline")+
theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5))
DSSFecesStr_d10base_log2diffs_gen
##Save plots
##family plots
tiff("DSSFecesStr_d7base_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7base_log2diffs
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d10d7_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d10d7_log2diffs
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d7d1_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7d1_log2diffs
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d7d4_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7d4_log2diffs
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d4base_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d4base_log2diffs
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d10base_log2diffs.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d10base_log2diffs
while (!is.null(dev.list())) dev.off()
##genus plots
tiff("DSSFecesStr_d7base_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7base_log2diffs_gen
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d10d7_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d10d7_log2diffs_gen
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d7d1_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7d1_log2diffs_gen
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d7d4_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d7d4_log2diffs_gen
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d4base_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d4base_log2diffs_gen
while (!is.null(dev.list())) dev.off()
tiff("DSSFecesStr_d10base_log2diffs_gen.tiff", height=6, width=10, units="in", res=600)
DSSFecesStr_d10base_log2diffs_gen
while (!is.null(dev.list())) dev.off()
##Differential Abundance testing with fitZig
##Define which factor of the dataset (which variable) will be used to structure the model.
TrialTime <- pData(MR.dss.feces.trim)$TrialTime
Study <- pData(MR.dss.feces.trim)$Trial
Time <- pData(MR.dss.feces.trim)$Time
TrialTime.heal <- pData(heal.base)$TrialTime
TrialTime.heal
## [1] DSS_Day10 DSS_Day10 DSS_Base1 DSS_Base1 DSS_Day9 DSS_Base1 DSS_Day8
## [8] DSS_Day8 DSS_Day8 DSS_Day9 DSS_Day9 DSS_Day10 DSS_Day9 DSS_Base1
## [15] DSS_Day8 DSS_Base1 DSS_Day10 DSS_Base1 DSS_Base1 DSS_Base1
## Levels: DSS_Base1 DSS_Day10 DSS_Day8 DSS_Day9
Study.heal <- pData(heal.base)$Trial
Time.heal <- pData(heal.base)$Time
TrialTime.dss <- pData(dss.base)$TrialTime
Study.dss <- pData(dss.base)$Trial
Time.dss <- pData(dss.base)$Time
pData(heal.base)$TrialTime
## [1] DSS_Day10 DSS_Day10 DSS_Base1 DSS_Base1 DSS_Day9 DSS_Base1 DSS_Day8
## [8] DSS_Day8 DSS_Day8 DSS_Day9 DSS_Day9 DSS_Day10 DSS_Day9 DSS_Base1
## [15] DSS_Day8 DSS_Base1 DSS_Day10 DSS_Base1 DSS_Base1 DSS_Base1
## Levels: DSS_Base1 DSS_Day10 DSS_Day8 DSS_Day9
pData(dss.base)$TrialTime
## [1] DSS_Day7 DSS_Day5 DSS_Day5 DSS_Day7 DSS_Day1 DSS_Day6 DSS_Day4
## [8] DSS_Day1 DSS_Base1 DSS_Base1 DSS_Day2 DSS_Day4 DSS_Base1 DSS_Day2
## [15] DSS_Day1 DSS_Day1 DSS_Day6 DSS_Day7 DSS_Day3 DSS_Day3 DSS_Day5
## [22] DSS_Day2 DSS_Day3 DSS_Base1 DSS_Day2 DSS_Day7 DSS_Day6 DSS_Base1
## [29] DSS_Day7 DSS_Day3 DSS_Base1 DSS_Day7 DSS_Base1 DSS_Day3 DSS_Base1
## [36] DSS_Day4 DSS_Day6 DSS_Day5 DSS_Day4 DSS_Day1 DSS_Day4 DSS_Day2
## [43] DSS_Day7 DSS_Day4 DSS_Day3 DSS_Day7 DSS_Day5 DSS_Day5 DSS_Day6
## [50] DSS_Day5 DSS_Day6 DSS_Day1 DSS_Day2 DSS_Day1 DSS_Day4 DSS_Day6
## [57] DSS_Day3 DSS_Day5 DSS_Day3 DSS_Day4 DSS_Day6 DSS_Day1
## 8 Levels: DSS_Base1 DSS_Day1 DSS_Day2 DSS_Day3 DSS_Day4 ... DSS_Day7
##Apply a log2 transformation to normalized factors. This is a crucial part of the fitZig model. For more information, see Paulson et. al 2013 paper on metagenomeSeq, particularly the Methods for CSS scaling and normalization (supplemental to the original paper).
normFactor <- normFactors(MR.dss.feces.trim)
normFactor <- log2(normFactor/median(normFactor)+1)
normFactor.heal <- normFactors(heal.base)
normFactor.heal <- log2(normFactor.heal/median(normFactor.heal)+1)
normFactor.dss <- normFactors(dss.base)
normFactor.dss <- log2(normFactor.dss/median(normFactor.dss)+1)
head(normFactor.dss)
## 133 55 54 69 21 66
## 1.3331137 1.3618918 0.8496234 1.1472351 0.4777343 0.8250314
##Define the model for the fitZig test.
##Important Note: the first level of every factor in the model is removed and replaced with an intercept for the linear model. This can be removed by using 0+ prior to the first factor, which sets the intercept to the origin. However, doing so changes the assumptions of the model and is NOT recommended. Every other level is then compared to the one which was removed (here, DSS baseline).
mod <- model.matrix(~TrialTime + normFactor)
mod
## (Intercept) TrialTimeDSS_Day1 TrialTimeDSS_Day10 TrialTimeDSS_Day2
## 1 1 0 0 0
## 2 1 0 1 0
## 3 1 0 1 0
## 4 1 0 0 0
## 5 1 0 0 0
## 6 1 0 0 0
## 7 1 1 0 0
## 8 1 0 0 0
## 9 1 0 0 0
## 10 1 0 0 0
## 11 1 0 0 0
## 12 1 1 0 0
## 13 1 0 0 0
## 14 1 0 0 0
## 15 1 0 0 0
## 16 1 0 0 1
## 17 1 0 0 0
## 18 1 0 0 0
## 19 1 0 0 0
## 20 1 0 0 0
## 21 1 0 0 0
## 22 1 0 0 1
## 23 1 0 0 0
## 24 1 1 0 0
## 25 1 1 0 0
## 26 1 0 0 0
## 27 1 0 0 0
## 28 1 0 0 0
## 29 1 0 0 0
## 30 1 0 1 0
## 31 1 0 0 0
## 32 1 0 0 0
## 33 1 0 0 0
## 34 1 0 0 0
## 35 1 0 0 1
## 36 1 0 0 0
## 37 1 0 0 0
## 38 1 0 0 0
## 39 1 0 0 1
## 40 1 0 0 0
## 41 1 0 0 0
## 42 1 0 0 0
## 43 1 0 0 0
## 44 1 0 1 0
## 45 1 0 0 0
## 46 1 0 0 0
## 47 1 0 0 0
## 48 1 0 0 0
## 49 1 0 0 0
## 50 1 0 0 0
## 51 1 0 0 0
## 52 1 0 0 0
## 53 1 0 0 0
## 54 1 0 0 0
## 55 1 0 0 0
## 56 1 0 0 0
## 57 1 0 0 0
## 58 1 0 0 0
## 59 1 0 0 0
## 60 1 1 0 0
## 61 1 0 0 0
## 62 1 0 0 1
## 63 1 0 0 0
## 64 1 0 0 0
## 65 1 0 0 0
## 66 1 0 0 0
## 67 1 0 0 0
## 68 1 0 0 0
## 69 1 0 0 0
## 70 1 0 0 0
## 71 1 0 0 0
## 72 1 0 0 0
## 73 1 0 0 0
## 74 1 0 0 0
## 75 1 1 0 0
## 76 1 0 0 1
## 77 1 1 0 0
## 78 1 0 0 0
## 79 1 0 0 0
## 80 1 0 0 0
## 81 1 0 0 0
## 82 1 0 0 0
## 83 1 0 0 0
## 84 1 0 0 0
## 85 1 1 0 0
## TrialTimeDSS_Day3 TrialTimeDSS_Day4 TrialTimeDSS_Day5 TrialTimeDSS_Day6
## 1 0 0 0 0
## 2 0 0 0 0
## 3 0 0 0 0
## 4 0 0 1 0
## 5 0 0 1 0
## 6 0 0 0 0
## 7 0 0 0 0
## 8 0 0 0 1
## 9 0 0 0 0
## 10 0 0 0 0
## 11 0 1 0 0
## 12 0 0 0 0
## 13 0 0 0 0
## 14 0 0 0 0
## 15 0 0 0 0
## 16 0 0 0 0
## 17 0 1 0 0
## 18 0 0 0 0
## 19 0 0 0 0
## 20 0 0 0 0
## 21 0 0 0 0
## 22 0 0 0 0
## 23 0 0 0 0
## 24 0 0 0 0
## 25 0 0 0 0
## 26 0 0 0 1
## 27 0 0 0 0
## 28 0 0 0 0
## 29 1 0 0 0
## 30 0 0 0 0
## 31 1 0 0 0
## 32 0 0 1 0
## 33 0 0 0 0
## 34 0 0 0 0
## 35 0 0 0 0
## 36 1 0 0 0
## 37 0 0 0 0
## 38 0 0 0 0
## 39 0 0 0 0
## 40 0 0 0 0
## 41 0 0 0 0
## 42 0 0 0 1
## 43 0 0 0 0
## 44 0 0 0 0
## 45 0 0 0 0
## 46 0 0 0 0
## 47 0 0 0 0
## 48 1 0 0 0
## 49 0 0 0 0
## 50 0 0 0 0
## 51 0 0 0 0
## 52 1 0 0 0
## 53 0 0 0 0
## 54 0 1 0 0
## 55 0 0 0 1
## 56 0 0 1 0
## 57 0 1 0 0
## 58 0 0 0 0
## 59 0 0 0 0
## 60 0 0 0 0
## 61 0 1 0 0
## 62 0 0 0 0
## 63 0 0 0 0
## 64 0 0 0 0
## 65 0 0 0 0
## 66 0 1 0 0
## 67 1 0 0 0
## 68 0 0 0 0
## 69 0 0 1 0
## 70 0 0 0 0
## 71 0 0 1 0
## 72 0 0 0 1
## 73 0 0 1 0
## 74 0 0 0 1
## 75 0 0 0 0
## 76 0 0 0 0
## 77 0 0 0 0
## 78 0 1 0 0
## 79 0 0 0 1
## 80 1 0 0 0
## 81 0 0 1 0
## 82 1 0 0 0
## 83 0 1 0 0
## 84 0 0 0 1
## 85 0 0 0 0
## TrialTimeDSS_Day7 TrialTimeDSS_Day8 TrialTimeDSS_Day9 TrialTimeFF_Base1
## 1 1 0 0 0
## 2 0 0 0 0
## 3 0 0 0 0
## 4 0 0 0 0
## 5 0 0 0 0
## 6 1 0 0 0
## 7 0 0 0 0
## 8 0 0 0 0
## 9 0 0 0 0
## 10 0 0 0 1
## 11 0 0 0 0
## 12 0 0 0 0
## 13 0 0 0 0
## 14 0 0 0 0
## 15 0 0 1 0
## 16 0 0 0 0
## 17 0 0 0 0
## 18 0 0 0 0
## 19 0 1 0 0
## 20 0 1 0 0
## 21 0 1 0 0
## 22 0 0 0 0
## 23 0 0 1 0
## 24 0 0 0 0
## 25 0 0 0 0
## 26 0 0 0 0
## 27 1 0 0 0
## 28 0 0 1 0
## 29 0 0 0 0
## 30 0 0 0 0
## 31 0 0 0 0
## 32 0 0 0 0
## 33 0 0 0 1
## 34 0 0 0 1
## 35 0 0 0 0
## 36 0 0 0 0
## 37 0 0 1 0
## 38 0 0 0 0
## 39 0 0 0 0
## 40 0 1 0 0
## 41 1 0 0 0
## 42 0 0 0 0
## 43 0 0 0 0
## 44 0 0 0 0
## 45 0 0 0 1
## 46 0 0 0 0
## 47 1 0 0 0
## 48 0 0 0 0
## 49 0 0 0 0
## 50 1 0 0 0
## 51 0 0 0 0
## 52 0 0 0 0
## 53 0 0 0 0
## 54 0 0 0 0
## 55 0 0 0 0
## 56 0 0 0 0
## 57 0 0 0 0
## 58 0 0 0 0
## 59 0 0 0 1
## 60 0 0 0 0
## 61 0 0 0 0
## 62 0 0 0 0
## 63 0 0 0 0
## 64 0 0 0 0
## 65 1 0 0 0
## 66 0 0 0 0
## 67 0 0 0 0
## 68 1 0 0 0
## 69 0 0 0 0
## 70 0 0 0 0
## 71 0 0 0 0
## 72 0 0 0 0
## 73 0 0 0 0
## 74 0 0 0 0
## 75 0 0 0 0
## 76 0 0 0 0
## 77 0 0 0 0
## 78 0 0 0 0
## 79 0 0 0 0
## 80 0 0 0 0
## 81 0 0 0 0
## 82 0 0 0 0
## 83 0 0 0 0
## 84 0 0 0 0
## 85 0 0 0 0
## TrialTimeFF_Day10 normFactor
## 1 0 1.3684228
## 2 0 1.4219329
## 3 0 1.6295089
## 4 0 1.3954259
## 5 0 0.8849416
## 6 0 1.1860323
## 7 0 0.4897291
## 8 0 0.8574609
## 9 1 1.1479760
## 10 0 0.7979891
## 11 0 1.5579006
## 12 0 0.7805369
## 13 0 1.0000000
## 14 0 0.8095077
## 15 0 1.0615053
## 16 0 0.9566266
## 17 0 0.9410016
## 18 0 0.9873779
## 19 0 0.7805369
## 20 0 1.1251119
## 21 0 1.1502426
## 22 0 0.9540341
## 23 0 1.1135425
## 24 0 1.0806458
## 25 0 0.7921951
## 26 0 0.9199015
## 27 0 1.1502426
## 28 0 1.2166360
## 29 0 1.2359725
## 30 0 1.2144714
## 31 0 0.7509725
## 32 0 0.9643761
## 33 0 0.9038714
## 34 0 0.4861448
## 35 0 1.3606139
## 36 0 0.9252055
## 37 0 0.7509725
## 38 0 0.9331252
## 39 0 1.2718046
## 40 0 0.6679831
## 41 0 1.1838212
## 42 0 1.1181814
## 43 0 1.0199684
## 44 0 1.0590947
## 45 0 0.5145732
## 46 1 0.9617975
## 47 0 1.0924809
## 48 0 0.7776076
## 49 0 0.9488352
## 50 0 0.9410016
## 51 0 0.9899112
## 52 0 1.2759622
## 53 0 0.8379081
## 54 0 1.0249176
## 55 0 1.1251119
## 56 0 1.0615053
## 57 0 1.5748737
## 58 1 0.7359599
## 59 0 0.5493386
## 60 0 0.7054578
## 61 0 0.8209350
## 62 0 0.8657602
## 63 1 0.9410016
## 64 1 0.5966443
## 65 0 1.5407255
## 66 0 1.0323098
## 67 0 1.0877585
## 68 0 0.8740121
## 69 0 1.3309481
## 70 1 0.8237778
## 71 0 1.2904203
## 72 0 1.1297138
## 73 0 1.1948426
## 74 0 1.1970368
## 75 0 1.0782671
## 76 0 0.8685161
## 77 0 1.2316979
## 78 0 1.2359725
## 79 0 0.9540341
## 80 0 0.8350931
## 81 0 0.8350931
## 82 0 0.8123730
## 83 0 1.1547652
## 84 0 1.1158638
## 85 0 1.0469814
## attr(,"assign")
## [1] 0 1 1 1 1 1 1 1 1 1 1 1 1 2
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime
## [1] "contr.treatment"
mod.heal <- model.matrix(~TrialTime.heal + normFactor.heal)
mod.heal
## (Intercept) TrialTime.healDSS_Day10 TrialTime.healDSS_Day8
## 1 1 1 0
## 2 1 1 0
## 3 1 0 0
## 4 1 0 0
## 5 1 0 0
## 6 1 0 0
## 7 1 0 1
## 8 1 0 1
## 9 1 0 1
## 10 1 0 0
## 11 1 0 0
## 12 1 1 0
## 13 1 0 0
## 14 1 0 0
## 15 1 0 1
## 16 1 0 0
## 17 1 1 0
## 18 1 0 0
## 19 1 0 0
## 20 1 0 0
## TrialTime.healDSS_Day9 normFactor.heal
## 1 0 1.3432316
## 2 0 1.6817931
## 3 0 0.9178184
## 4 0 0.7577991
## 5 1 1.0059493
## 6 0 0.9253718
## 7 0 1.0480747
## 8 0 1.0754902
## 9 0 1.2500595
## 10 1 1.0572712
## 11 1 1.1418327
## 12 0 1.1504523
## 13 1 0.6825362
## 14 0 1.0130562
## 15 0 0.6156342
## 16 0 0.9551960
## 17 0 0.9940261
## 18 0 0.8820367
## 19 0 0.9303855
## 20 0 0.7967556
## attr(,"assign")
## [1] 0 1 1 1 2
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.heal
## [1] "contr.treatment"
mod.dss <- model.matrix(~TrialTime.dss + normFactor.dss)
mod.dss
## (Intercept) TrialTime.dssDSS_Day1 TrialTime.dssDSS_Day2
## 1 1 0 0
## 2 1 0 0
## 3 1 0 0
## 4 1 0 0
## 5 1 1 0
## 6 1 0 0
## 7 1 0 0
## 8 1 1 0
## 9 1 0 0
## 10 1 0 0
## 11 1 0 1
## 12 1 0 0
## 13 1 0 0
## 14 1 0 1
## 15 1 1 0
## 16 1 1 0
## 17 1 0 0
## 18 1 0 0
## 19 1 0 0
## 20 1 0 0
## 21 1 0 0
## 22 1 0 1
## 23 1 0 0
## 24 1 0 0
## 25 1 0 1
## 26 1 0 0
## 27 1 0 0
## 28 1 0 0
## 29 1 0 0
## 30 1 0 0
## 31 1 0 0
## 32 1 0 0
## 33 1 0 0
## 34 1 0 0
## 35 1 0 0
## 36 1 0 0
## 37 1 0 0
## 38 1 0 0
## 39 1 0 0
## 40 1 1 0
## 41 1 0 0
## 42 1 0 1
## 43 1 0 0
## 44 1 0 0
## 45 1 0 0
## 46 1 0 0
## 47 1 0 0
## 48 1 0 0
## 49 1 0 0
## 50 1 0 0
## 51 1 0 0
## 52 1 1 0
## 53 1 0 1
## 54 1 1 0
## 55 1 0 0
## 56 1 0 0
## 57 1 0 0
## 58 1 0 0
## 59 1 0 0
## 60 1 0 0
## 61 1 0 0
## 62 1 1 0
## TrialTime.dssDSS_Day3 TrialTime.dssDSS_Day4 TrialTime.dssDSS_Day5
## 1 0 0 0
## 2 0 0 1
## 3 0 0 1
## 4 0 0 0
## 5 0 0 0
## 6 0 0 0
## 7 0 1 0
## 8 0 0 0
## 9 0 0 0
## 10 0 0 0
## 11 0 0 0
## 12 0 1 0
## 13 0 0 0
## 14 0 0 0
## 15 0 0 0
## 16 0 0 0
## 17 0 0 0
## 18 0 0 0
## 19 1 0 0
## 20 1 0 0
## 21 0 0 1
## 22 0 0 0
## 23 1 0 0
## 24 0 0 0
## 25 0 0 0
## 26 0 0 0
## 27 0 0 0
## 28 0 0 0
## 29 0 0 0
## 30 1 0 0
## 31 0 0 0
## 32 0 0 0
## 33 0 0 0
## 34 1 0 0
## 35 0 0 0
## 36 0 1 0
## 37 0 0 0
## 38 0 0 1
## 39 0 1 0
## 40 0 0 0
## 41 0 1 0
## 42 0 0 0
## 43 0 0 0
## 44 0 1 0
## 45 1 0 0
## 46 0 0 0
## 47 0 0 1
## 48 0 0 1
## 49 0 0 0
## 50 0 0 1
## 51 0 0 0
## 52 0 0 0
## 53 0 0 0
## 54 0 0 0
## 55 0 1 0
## 56 0 0 0
## 57 1 0 0
## 58 0 0 1
## 59 1 0 0
## 60 0 1 0
## 61 0 0 0
## 62 0 0 0
## TrialTime.dssDSS_Day6 TrialTime.dssDSS_Day7 normFactor.dss
## 1 0 1 1.3331137
## 2 0 0 1.3618918
## 3 0 0 0.8496234
## 4 0 1 1.1472351
## 5 0 0 0.4777343
## 6 1 0 0.8250314
## 7 0 0 1.5063722
## 8 0 0 0.7602119
## 9 0 0 0.9666628
## 10 0 0 0.7887528
## 11 0 0 0.9363689
## 12 0 0 0.9132236
## 13 0 0 0.9414623
## 14 0 0 0.9312575
## 15 0 0 1.0420991
## 16 0 0 0.7688336
## 17 1 0 0.9002028
## 18 0 1 1.1160404
## 19 0 0 1.2076709
## 20 0 0 0.7340333
## 21 0 0 0.9389178
## 22 0 0 1.3233920
## 23 0 0 0.8975844
## 24 0 0 0.9106288
## 25 0 0 1.2472850
## 26 0 1 1.1494377
## 27 1 0 1.0864573
## 28 0 0 0.9889730
## 29 0 1 1.0562549
## 30 0 0 0.7573265
## 31 0 0 0.9235562
## 32 0 1 0.9158137
## 33 0 0 0.9641625
## 34 0 0 1.2452269
## 35 0 0 0.8167400
## 36 0 0 0.9963337
## 37 1 0 1.0910482
## 38 0 0 1.0278031
## 39 0 0 1.5268484
## 40 0 0 0.6832500
## 41 0 0 0.8000129
## 42 0 0 0.8469116
## 43 0 1 1.4786105
## 44 0 0 1.0036570
## 45 0 0 1.0656155
## 46 0 1 0.8441946
## 47 0 0 1.2958175
## 48 0 0 1.2554880
## 49 1 0 1.1024620
## 50 0 0 1.3466150
## 51 1 0 1.1691111
## 52 0 0 1.0539052
## 53 0 0 0.8414726
## 54 0 0 1.1927976
## 55 0 0 1.2118924
## 56 1 0 1.1160404
## 57 0 0 0.8056102
## 58 0 0 0.8084007
## 59 0 0 0.7915761
## 60 0 0 1.1115285
## 61 1 0 1.0609428
## 62 0 0 1.0157806
## attr(,"assign")
## [1] 0 1 1 1 1 1 1 1 2
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.dss
## [1] "contr.treatment"
##Define settings for the fitZig model application
settings <- zigControl(maxit=10, verbose=TRUE) # these settings are same as in vignette. zigFit performs 10 iterations to determine most important features (OTUs)
##Perform the fit
dss.feces.fit <- fitZig(obj=MR.dss.feces.trim, mod=mod, control=settings)
## it= 0, nll=125.40, log10(eps+1)=Inf, stillActive=845
## it= 1, nll=134.11, log10(eps+1)=0.04, stillActive=106
## it= 2, nll=134.44, log10(eps+1)=0.04, stillActive=28
## it= 3, nll=134.62, log10(eps+1)=0.01, stillActive=1
## it= 4, nll=134.63, log10(eps+1)=0.00, stillActive=0
heal.fit <- fitZig(obj=heal.base, mod=mod.heal, control=settings)
## it= 0, nll=28.90, log10(eps+1)=Inf, stillActive=761
## it= 1, nll=29.99, log10(eps+1)=0.08, stillActive=269
## it= 2, nll=29.95, log10(eps+1)=0.05, stillActive=140
## it= 3, nll=30.00, log10(eps+1)=0.06, stillActive=66
## it= 4, nll=30.03, log10(eps+1)=0.06, stillActive=38
## it= 5, nll=30.25, log10(eps+1)=0.07, stillActive=4
## it= 6, nll=30.27, log10(eps+1)=0.00, stillActive=0
dss.fit <- fitZig(obj=dss.base, mod=mod.dss, control=settings)
## it= 0, nll=92.68, log10(eps+1)=Inf, stillActive=824
## it= 1, nll=98.34, log10(eps+1)=0.06, stillActive=145
## it= 2, nll=98.62, log10(eps+1)=0.04, stillActive=40
## it= 3, nll=98.79, log10(eps+1)=0.01, stillActive=6
## it= 4, nll=98.82, log10(eps+1)=0.00, stillActive=1
## it= 5, nll=98.81, log10(eps+1)=0.00, stillActive=1
## it= 6, nll=98.79, log10(eps+1)=0.00, stillActive=1
## it= 7, nll=98.78, log10(eps+1)=0.00, stillActive=1
## it= 8, nll=98.77, log10(eps+1)=0.00, stillActive=1
## it= 9, nll=98.76, log10(eps+1)=0.00, stillActive=1
##View some of the results. Coefficients are LFC values from the reference samples, which have median normFactors. More details are included with the MRfulltable() function, detailed below.
MRcoefs(dss.feces.fit)
## (Intercept) TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU31330 -1.1518744 4.853642
## 333363 0.4503056 4.721736
## New.ReferenceOTU10 -3.3121031 4.488074
## 851865 -1.0712252 -4.183895
## 703741 8.0099617 -4.017049
## 940433 -8.1954689 3.941861
## New.CleanUp.ReferenceOTU5717 -0.7896081 3.901930
## New.ReferenceOTU159 5.8592613 -3.841061
## 334485 3.1944502 -3.800620
## New.ReferenceOTU58 -8.9963721 3.659478
## TrialTimeDSS_Day10 TrialTimeDSS_Day2
## New.CleanUp.ReferenceOTU31330 0.3784838 0.53760291
## 333363 3.1806959 2.44943092
## New.ReferenceOTU10 4.6521784 1.92838058
## 851865 -4.5724706 -3.13777329
## 703741 -3.8968946 -6.17067710
## 940433 -0.6446588 -0.13509118
## New.CleanUp.ReferenceOTU5717 2.6363331 0.06528851
## New.ReferenceOTU159 -4.6809321 -3.10474592
## 334485 -3.2882671 -3.34332368
## New.ReferenceOTU58 5.4650105 2.90531102
## TrialTimeDSS_Day3 TrialTimeDSS_Day4
## New.CleanUp.ReferenceOTU31330 1.4493689 3.0612059
## 333363 0.9666505 2.8694084
## New.ReferenceOTU10 4.2275035 3.1373607
## 851865 -3.5984536 -3.4351982
## 703741 -5.9895243 -4.6754815
## 940433 0.5592744 0.4643595
## New.CleanUp.ReferenceOTU5717 0.5952697 1.1516113
## New.ReferenceOTU159 -3.7274501 -3.4737055
## 334485 -4.3628882 -3.4370352
## New.ReferenceOTU58 3.9332843 4.0909241
## TrialTimeDSS_Day5 TrialTimeDSS_Day6
## New.CleanUp.ReferenceOTU31330 0.39887206 0.4664375
## 333363 1.74640598 1.1746522
## New.ReferenceOTU10 2.12052945 1.1829875
## 851865 -2.68712607 -2.6245911
## 703741 -5.89629130 -6.3697460
## 940433 -0.09674178 0.9956067
## New.CleanUp.ReferenceOTU5717 -0.04702065 0.3013552
## New.ReferenceOTU159 -3.61728685 -3.7119694
## 334485 -4.01943263 -4.3930844
## New.ReferenceOTU58 3.60707500 3.5313086
## TrialTimeDSS_Day7 TrialTimeDSS_Day8
## New.CleanUp.ReferenceOTU31330 0.8619903 0.6607595
## 333363 2.7039798 3.3740185
## New.ReferenceOTU10 2.4101390 3.2567666
## 851865 -3.3508841 -3.3792989
## 703741 -6.6862385 -4.9804962
## 940433 -0.6412324 1.6355092
## New.CleanUp.ReferenceOTU5717 0.7962224 -0.7451382
## New.ReferenceOTU159 -3.6950762 -4.7181604
## 334485 -3.4773861 -3.1789357
## New.ReferenceOTU58 4.0973581 2.9709809
## TrialTimeDSS_Day9 TrialTimeFF_Base1
## New.CleanUp.ReferenceOTU31330 -0.06613344 0.4066883
## 333363 2.25255818 -0.1029486
## New.ReferenceOTU10 2.59249308 2.2351831
## 851865 -2.82658850 -0.1754668
## 703741 -4.00484517 -1.4310298
## 940433 4.40807601 6.5196696
## New.CleanUp.ReferenceOTU5717 2.33670691 1.0428925
## New.ReferenceOTU159 -3.88625977 -4.5785705
## 334485 -2.40779895 -3.7961465
## New.ReferenceOTU58 5.31888781 1.7573825
## TrialTimeFF_Day10 normFactor scalingFactor
## New.CleanUp.ReferenceOTU31330 0.004709398 1.287405 -0.1211507
## 333363 -0.007673263 -1.911973 3.9771566
## New.ReferenceOTU10 2.501059841 32.033898 -64.4315835
## 851865 -1.276371783 15.220570 -25.4136115
## 703741 -3.506610671 2.203705 -3.5201625
## 940433 1.911393860 34.086920 -69.5642232
## New.CleanUp.ReferenceOTU5717 -0.700036193 5.643218 -11.0228133
## New.ReferenceOTU159 -1.946487596 -12.955987 32.3664769
## 334485 -1.456765870 6.641836 -14.8970712
## New.ReferenceOTU58 0.421941459 40.683322 -85.1045828
## pvalues adjPvalues
## New.CleanUp.ReferenceOTU31330 2.399173e-08 1.013651e-05
## 333363 7.717576e-07 5.295160e-05
## New.ReferenceOTU10 2.754578e-03 1.763347e-02
## 851865 4.973100e-05 1.273415e-03
## 703741 1.524217e-05 5.366512e-04
## 940433 7.152610e-08 1.280619e-05
## New.CleanUp.ReferenceOTU5717 8.205438e-06 3.649261e-04
## New.ReferenceOTU159 7.010932e-07 5.295160e-05
## 334485 7.896342e-07 5.295160e-05
## New.ReferenceOTU58 1.210726e-03 9.837149e-03
head(dss.feces.fit$fit$coefficients)
## (Intercept) TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU31068 -2.582053 1.07189455
## New.ReferenceOTU33 -1.973257 -1.68608321
## New.ReferenceOTU122 -4.490221 0.92320599
## 360329 -1.307912 -1.60686818
## New.CleanUp.ReferenceOTU20966 5.118168 -0.08157159
## New.CleanUp.ReferenceOTU6149 -3.918628 0.14183232
## TrialTimeDSS_Day10 TrialTimeDSS_Day2
## New.CleanUp.ReferenceOTU31068 2.7037282 2.3857471
## New.ReferenceOTU33 0.5409394 -1.1982606
## New.ReferenceOTU122 2.3704304 1.4632636
## 360329 0.5116531 -1.2660445
## New.CleanUp.ReferenceOTU20966 -0.3328711 0.6330230
## New.CleanUp.ReferenceOTU6149 1.6582261 0.9588557
## TrialTimeDSS_Day3 TrialTimeDSS_Day4
## New.CleanUp.ReferenceOTU31068 1.7920203 1.70718781
## New.ReferenceOTU33 -1.1721283 -0.08842702
## New.ReferenceOTU122 0.8937557 0.37491307
## 360329 -1.8205498 -1.93460705
## New.CleanUp.ReferenceOTU20966 -0.6252499 -1.01977320
## New.CleanUp.ReferenceOTU6149 0.0579799 0.66171225
## TrialTimeDSS_Day5 TrialTimeDSS_Day6
## New.CleanUp.ReferenceOTU31068 2.0247726 1.73189769
## New.ReferenceOTU33 0.2526218 -1.73692375
## New.ReferenceOTU122 1.2465452 2.53417404
## 360329 -0.2528232 -0.02524845
## New.CleanUp.ReferenceOTU20966 1.5297284 -0.66166655
## New.CleanUp.ReferenceOTU6149 1.4462772 1.08205430
## TrialTimeDSS_Day7 TrialTimeDSS_Day8
## New.CleanUp.ReferenceOTU31068 1.8206240 1.6209648
## New.ReferenceOTU33 0.7470401 0.4418798
## New.ReferenceOTU122 2.3973230 2.8825445
## 360329 -0.2636865 -0.2265047
## New.CleanUp.ReferenceOTU20966 0.3466501 -0.1451458
## New.CleanUp.ReferenceOTU6149 1.4092099 1.7754408
## TrialTimeDSS_Day9 TrialTimeFF_Base1
## New.CleanUp.ReferenceOTU31068 2.7597691 0.5444974
## New.ReferenceOTU33 -1.1075329 1.2579658
## New.ReferenceOTU122 1.3652641 0.8034840
## 360329 0.3153219 -0.9717795
## New.CleanUp.ReferenceOTU20966 0.5681546 -1.3090878
## New.CleanUp.ReferenceOTU6149 0.4664020 0.8169742
## TrialTimeFF_Day10 normFactor scalingFactor
## New.CleanUp.ReferenceOTU31068 4.287853680 9.736587 -19.44176
## New.ReferenceOTU33 1.097082514 12.746018 -22.76724
## New.ReferenceOTU122 2.059263999 15.882328 -30.01288
## 360329 -0.001397817 14.087870 -27.93208
## New.CleanUp.ReferenceOTU20966 -0.729338425 -19.953393 43.42046
## New.CleanUp.ReferenceOTU6149 2.354191049 15.789046 -32.32369
head(heal.fit$fit$coefficients)
## (Intercept) TrialTime.healDSS_Day10
## New.CleanUp.ReferenceOTU31068 0.4001996 3.5651555
## New.ReferenceOTU33 -2.3213243 -1.0863255
## New.ReferenceOTU122 -8.9545925 2.2759861
## 360329 -7.9920899 0.5368434
## New.CleanUp.ReferenceOTU20966 -2.1338427 -2.0974307
## New.CleanUp.ReferenceOTU6149 -7.0159220 1.5136238
## TrialTime.healDSS_Day8
## New.CleanUp.ReferenceOTU31068 1.56517392
## New.ReferenceOTU33 -0.31277650
## New.ReferenceOTU122 2.28423325
## 360329 0.09251108
## New.CleanUp.ReferenceOTU20966 -0.20417721
## New.CleanUp.ReferenceOTU6149 1.60488593
## TrialTime.healDSS_Day9 normFactor.heal
## New.CleanUp.ReferenceOTU31068 2.6477948 7.369374
## New.ReferenceOTU33 -1.2497670 6.279101
## New.ReferenceOTU122 1.4591256 40.263893
## 360329 -0.4265709 45.684725
## New.CleanUp.ReferenceOTU20966 -0.1037937 2.105030
## New.CleanUp.ReferenceOTU6149 0.4466096 29.776856
## scalingFactor
## New.CleanUp.ReferenceOTU31068 -20.929657
## New.ReferenceOTU33 -2.838372
## New.ReferenceOTU122 -80.188073
## 360329 -90.059265
## New.CleanUp.ReferenceOTU20966 4.128266
## New.CleanUp.ReferenceOTU6149 -58.846503
head(dss.fit$fit$coefficients)
## (Intercept) TrialTime.dssDSS_Day1
## New.CleanUp.ReferenceOTU31068 -2.7623161 1.09023789
## New.ReferenceOTU33 -1.6840599 -1.75824350
## New.ReferenceOTU122 -3.6416909 0.92018168
## 360329 -3.0374924 -1.56770310
## New.CleanUp.ReferenceOTU20966 4.8928494 -0.05871122
## New.CleanUp.ReferenceOTU6149 -0.3933906 0.02117011
## TrialTime.dssDSS_Day2 TrialTime.dssDSS_Day3
## New.CleanUp.ReferenceOTU31068 2.4809990 1.812904364
## New.ReferenceOTU33 -1.2554990 -1.278147337
## New.ReferenceOTU122 1.5122986 0.852562684
## 360329 -1.1909419 -1.816244627
## New.CleanUp.ReferenceOTU20966 0.7374016 -0.606354528
## New.CleanUp.ReferenceOTU6149 1.0219251 0.009134017
## TrialTime.dssDSS_Day4 TrialTime.dssDSS_Day5
## New.CleanUp.ReferenceOTU31068 1.7451033 2.1189674
## New.ReferenceOTU33 0.1813118 0.5303221
## New.ReferenceOTU122 0.4563780 1.2853328
## 360329 -1.8330122 -0.1113909
## New.CleanUp.ReferenceOTU20966 -0.7510407 1.6912431
## New.CleanUp.ReferenceOTU6149 0.7803227 1.4807351
## TrialTime.dssDSS_Day6 TrialTime.dssDSS_Day7
## New.CleanUp.ReferenceOTU31068 1.75277045 1.90206403
## New.ReferenceOTU33 -1.67222366 1.23821396
## New.ReferenceOTU122 2.59314584 2.48755280
## 360329 0.02666989 0.04080665
## New.CleanUp.ReferenceOTU20966 -0.55363254 0.62606785
## New.CleanUp.ReferenceOTU6149 1.30152392 1.62497799
## normFactor.dss scalingFactor
## New.CleanUp.ReferenceOTU31068 11.752825 -23.793529
## New.ReferenceOTU33 18.663602 -38.610625
## New.ReferenceOTU122 13.926033 -26.178282
## 360329 26.037947 -54.390982
## New.CleanUp.ReferenceOTU20966 -17.670417 36.637703
## New.CleanUp.ReferenceOTU6149 1.982178 -4.229472
##Export the coefficients of the fits and adjusted p-values
dss.feces.fit.coefs <- MRcoefs(dss.feces.fit, group = 3, number = 50)
write.table(dss.feces.fit.coefs, "dss.feces/dss.feces.fitzig.res.txt", sep = "\t")
heal.fit.coefs <- MRcoefs(heal.fit, group = 3, number = 50)
head(heal.fit.coefs)
## (Intercept) TrialTime.healDSS_Day10
## New.ReferenceOTU211 28.765487 8.792003
## New.ReferenceOTU236 19.969151 6.966705
## 188931 4.257246 9.384557
## New.ReferenceOTU11 15.557872 8.327194
## 127 2.826202 8.108370
## New.ReferenceOTU38 21.639915 7.170224
## TrialTime.healDSS_Day8 TrialTime.healDSS_Day9
## New.ReferenceOTU211 -0.153734 2.287705
## New.ReferenceOTU236 2.271270 -0.163147
## 188931 5.770179 6.092354
## New.ReferenceOTU11 3.257572 3.889753
## 127 3.949878 1.293489
## New.ReferenceOTU38 7.324580 1.337693
## normFactor.heal scalingFactor pvalues
## New.ReferenceOTU211 -70.092109 111.011100 9.350690e-16
## New.ReferenceOTU236 -51.958139 84.407639 1.884635e-15
## 188931 -3.871131 -2.494024 3.779711e-15
## New.ReferenceOTU11 -47.797095 85.236111 2.401557e-14
## 127 3.271502 -15.985556 1.807855e-12
## New.ReferenceOTU38 -82.161489 160.694644 9.160202e-11
## adjPvalues
## New.ReferenceOTU211 7.115875e-13
## New.ReferenceOTU236 7.171037e-13
## 188931 9.587867e-13
## New.ReferenceOTU11 4.568961e-12
## 127 2.751555e-10
## New.ReferenceOTU38 1.161819e-08
write.table(heal.fit.coefs, "dss.feces/heal.fitzig.res.txt", sep = "\t")
dss.fit.coefs <- MRcoefs(dss.fit, group = 3, number = 50)
write.table(dss.fit.coefs, "dss.feces/dss.fitzig.res.txt", sep = "\t")
##Perform pairwise contrasts based on output from fitZig. fitZig can determine multivariate statistics for multiple groups in a dataset, and is useful for that purpose. By deriving the normFactor distribution, variance, etc. from all samples, potentially more accurate paiwise statistics can also be obtained (as opposed to subsetting down to two groups and calculating the normFactors distribution and variance based on only two groups' worth of information, which is the only option available for the fitFeature model.)
##This requires using more specific application of limma's functions. In order to use limma, must extract the final model matrix from a linear model fit (the output from fitZig)
##In order to make contrasts between groups, use makeContrasts() in limma based on coefficients (logFCs) from a linear model fit (MLArrayLM limma object, output from fitZig). This designs a model for contrasting specific groups within your variable of interest, specifying which comparisons between the coefficients of the linear model are to be extracted from the fit.
##Then, run contrasts.fit() in limma to compute the fold changes and t-statistics between the comparisons of interest.
##Finally, run eBayes() to compute standard error, moderated t-statistic, and log-odds of differential expression (abundance) for each contrast for each OTU.
#Extract the final model matrix from linear model fit
##From whole dataset
zigfit <- dss.feces.fit$fit
finalmod <- dss.feces.fit$fit$design
head(finalmod)
## (Intercept) TrialTimeDSS_Day1 TrialTimeDSS_Day10 TrialTimeDSS_Day2
## 1 1 0 0 0
## 2 1 0 1 0
## 3 1 0 1 0
## 4 1 0 0 0
## 5 1 0 0 0
## 6 1 0 0 0
## TrialTimeDSS_Day3 TrialTimeDSS_Day4 TrialTimeDSS_Day5 TrialTimeDSS_Day6
## 1 0 0 0 0
## 2 0 0 0 0
## 3 0 0 0 0
## 4 0 0 1 0
## 5 0 0 1 0
## 6 0 0 0 0
## TrialTimeDSS_Day7 TrialTimeDSS_Day8 TrialTimeDSS_Day9 TrialTimeFF_Base1
## 1 1 0 0 0
## 2 0 0 0 0
## 3 0 0 0 0
## 4 0 0 0 0
## 5 0 0 0 0
## 6 1 0 0 0
## TrialTimeFF_Day10 normFactor scalingFactor
## 1 0 1.3684228 0.5400273
## 2 0 1.4219329 0.5675454
## 3 0 1.6295089 0.6789733
## 4 0 1.3954259 0.5538520
## 5 0 0.8849416 0.3138263
## 6 0 1.1860323 0.4499575
dim(finalmod) # rows are barcodes, only seen once per row. This makes sense; model is correct.
## [1] 85 15
colnames(mod)
## [1] "(Intercept)" "TrialTimeDSS_Day1" "TrialTimeDSS_Day10"
## [4] "TrialTimeDSS_Day2" "TrialTimeDSS_Day3" "TrialTimeDSS_Day4"
## [7] "TrialTimeDSS_Day5" "TrialTimeDSS_Day6" "TrialTimeDSS_Day7"
## [10] "TrialTimeDSS_Day8" "TrialTimeDSS_Day9" "TrialTimeFF_Base1"
## [13] "TrialTimeFF_Day10" "normFactor"
##From heal subset
zigfit.heal <- heal.fit$fit
finalmod.heal <- heal.fit$fit$design
head(finalmod.heal)
## (Intercept) TrialTime.healDSS_Day10 TrialTime.healDSS_Day8
## 1 1 1 0
## 2 1 1 0
## 3 1 0 0
## 4 1 0 0
## 5 1 0 0
## 6 1 0 0
## TrialTime.healDSS_Day9 normFactor.heal scalingFactor
## 1 0 1.3432316 0.5509007
## 2 0 1.6817931 0.7381193
## 3 0 0.9178184 0.3436921
## 4 0 0.7577991 0.2738142
## 5 1 1.0059493 0.3840498
## 6 0 0.9253718 0.3470987
dim(finalmod.heal) # rows are barcodes, only seen once per row. This makes sense; model is correct.
## [1] 20 6
colnames(mod.heal)
## [1] "(Intercept)" "TrialTime.healDSS_Day10"
## [3] "TrialTime.healDSS_Day8" "TrialTime.healDSS_Day9"
## [5] "normFactor.heal"
##From dss subset
zigfit.dss <- dss.fit$fit
finalmod.dss <- dss.fit$fit$design
head(finalmod.dss)
## (Intercept) TrialTime.dssDSS_Day1 TrialTime.dssDSS_Day2
## 1 1 0 0
## 2 1 0 0
## 3 1 0 0
## 4 1 0 0
## 5 1 1 0
## 6 1 0 0
## TrialTime.dssDSS_Day3 TrialTime.dssDSS_Day4 TrialTime.dssDSS_Day5
## 1 0 0 0
## 2 0 0 1
## 3 0 0 1
## 4 0 0 0
## 5 0 0 0
## 6 0 0 0
## TrialTime.dssDSS_Day6 TrialTime.dssDSS_Day7 normFactor.dss scalingFactor
## 1 0 1 1.3331137 0.5350576
## 2 0 0 1.3618918 0.5499156
## 3 0 0 0.8496234 0.3068455
## 4 0 1 1.1472351 0.4425455
## 5 0 0 0.4777343 0.1583370
## 6 1 0 0.8250314 0.2963106
dim(finalmod.dss) # rows are barcodes, only seen once per row. This makes sense; model is correct.
## [1] 62 10
colnames(mod.dss)
## [1] "(Intercept)" "TrialTime.dssDSS_Day1" "TrialTime.dssDSS_Day2"
## [4] "TrialTime.dssDSS_Day3" "TrialTime.dssDSS_Day4" "TrialTime.dssDSS_Day5"
## [7] "TrialTime.dssDSS_Day6" "TrialTime.dssDSS_Day7" "normFactor.dss"
#design the contrasts matrix
##Looking at the differences in several pairwise comparisons. First group listed means a change in that group, relative to the second.
##Remember that the first timepoint of each set (baseline) is removed from the model for linear model fit. Additional pairwise comparisons are built on top of this initial model.
##Comparing Day 7 to Baseline, Day 10 to Baseline, Day 10 to Day 7, Day 7 to Day 4, Day 4 to Day 1, Day 7 to Day 1.
contrasts.matrix <- makeContrasts(TrialTimeDSS_Day10 - TrialTimeDSS_Day7, TrialTimeDSS_Day7 - TrialTimeDSS_Day4, TrialTimeDSS_Day4 - TrialTimeDSS_Day1, TrialTimeDSS_Day7 - TrialTimeDSS_Day1, levels=finalmod)
## Warning in makeContrasts(TrialTimeDSS_Day10 - TrialTimeDSS_Day7,
## TrialTimeDSS_Day7 - : Renaming (Intercept) to Intercept
contrasts.matrix
## Contrasts
## Levels TrialTimeDSS_Day10 - TrialTimeDSS_Day7
## Intercept 0
## TrialTimeDSS_Day1 0
## TrialTimeDSS_Day10 1
## TrialTimeDSS_Day2 0
## TrialTimeDSS_Day3 0
## TrialTimeDSS_Day4 0
## TrialTimeDSS_Day5 0
## TrialTimeDSS_Day6 0
## TrialTimeDSS_Day7 -1
## TrialTimeDSS_Day8 0
## TrialTimeDSS_Day9 0
## TrialTimeFF_Base1 0
## TrialTimeFF_Day10 0
## normFactor 0
## scalingFactor 0
## Contrasts
## Levels TrialTimeDSS_Day7 - TrialTimeDSS_Day4
## Intercept 0
## TrialTimeDSS_Day1 0
## TrialTimeDSS_Day10 0
## TrialTimeDSS_Day2 0
## TrialTimeDSS_Day3 0
## TrialTimeDSS_Day4 -1
## TrialTimeDSS_Day5 0
## TrialTimeDSS_Day6 0
## TrialTimeDSS_Day7 1
## TrialTimeDSS_Day8 0
## TrialTimeDSS_Day9 0
## TrialTimeFF_Base1 0
## TrialTimeFF_Day10 0
## normFactor 0
## scalingFactor 0
## Contrasts
## Levels TrialTimeDSS_Day4 - TrialTimeDSS_Day1
## Intercept 0
## TrialTimeDSS_Day1 -1
## TrialTimeDSS_Day10 0
## TrialTimeDSS_Day2 0
## TrialTimeDSS_Day3 0
## TrialTimeDSS_Day4 1
## TrialTimeDSS_Day5 0
## TrialTimeDSS_Day6 0
## TrialTimeDSS_Day7 0
## TrialTimeDSS_Day8 0
## TrialTimeDSS_Day9 0
## TrialTimeFF_Base1 0
## TrialTimeFF_Day10 0
## normFactor 0
## scalingFactor 0
## Contrasts
## Levels TrialTimeDSS_Day7 - TrialTimeDSS_Day1
## Intercept 0
## TrialTimeDSS_Day1 -1
## TrialTimeDSS_Day10 0
## TrialTimeDSS_Day2 0
## TrialTimeDSS_Day3 0
## TrialTimeDSS_Day4 0
## TrialTimeDSS_Day5 0
## TrialTimeDSS_Day6 0
## TrialTimeDSS_Day7 1
## TrialTimeDSS_Day8 0
## TrialTimeDSS_Day9 0
## TrialTimeFF_Base1 0
## TrialTimeFF_Day10 0
## normFactor 0
## scalingFactor 0
fitzig2 <- contrasts.fit(zigfit, contrasts.matrix)
## Warning in contrasts.fit(zigfit, contrasts.matrix): row names of contrasts
## don't match col names of coefficients
fitzig2 <- eBayes(fitzig2)
topTable(fitzig2, number=20, sort.by="F")
## TrialTimeDSS_Day10...TrialTimeDSS_Day7
## New.CleanUp.ReferenceOTU1669 7.519058845
## New.CleanUp.ReferenceOTU4077 4.198806368
## New.CleanUp.ReferenceOTU8703 4.969228009
## New.ReferenceOTU252 6.127236798
## New.CleanUp.ReferenceOTU1784 3.723826472
## 4426298 6.549896782
## 179018 5.687071990
## 940433 -0.003426458
## New.CleanUp.ReferenceOTU8184 5.933566165
## New.CleanUp.ReferenceOTU610 -0.120613881
## 1035392 -0.143348615
## New.CleanUp.ReferenceOTU29218 4.203491519
## New.CleanUp.ReferenceOTU31330 -0.483506445
## New.CleanUp.ReferenceOTU2842 0.239605056
## New.CleanUp.ReferenceOTU9735 2.381450372
## New.CleanUp.ReferenceOTU35153 3.774024616
## New.CleanUp.ReferenceOTU13188 4.222811463
## New.ReferenceOTU47 1.090657775
## 334340 5.997112518
## New.CleanUp.ReferenceOTU33036 -2.056160697
## TrialTimeDSS_Day7...TrialTimeDSS_Day4
## New.CleanUp.ReferenceOTU1669 0.891014430
## New.CleanUp.ReferenceOTU4077 -1.881423134
## New.CleanUp.ReferenceOTU8703 -0.448011719
## New.ReferenceOTU252 0.687237846
## New.CleanUp.ReferenceOTU1784 -0.116480837
## 4426298 -2.150247846
## 179018 -1.599390140
## 940433 -1.105591909
## New.CleanUp.ReferenceOTU8184 0.391486730
## New.CleanUp.ReferenceOTU610 -0.320343193
## 1035392 -3.161981410
## New.CleanUp.ReferenceOTU29218 0.008731452
## New.CleanUp.ReferenceOTU31330 -2.199215584
## New.CleanUp.ReferenceOTU2842 -0.770768057
## New.CleanUp.ReferenceOTU9735 1.467023364
## New.CleanUp.ReferenceOTU35153 0.751999416
## New.CleanUp.ReferenceOTU13188 -0.298975477
## New.ReferenceOTU47 0.988026273
## 334340 -0.008273408
## New.CleanUp.ReferenceOTU33036 2.323605155
## TrialTimeDSS_Day4...TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU1669 -0.20043707
## New.CleanUp.ReferenceOTU4077 3.27517159
## New.CleanUp.ReferenceOTU8703 1.37996308
## New.ReferenceOTU252 0.53713562
## New.CleanUp.ReferenceOTU1784 2.67866474
## 4426298 1.77847764
## 179018 4.16667006
## 940433 -3.47750146
## New.CleanUp.ReferenceOTU8184 0.85554853
## New.CleanUp.ReferenceOTU610 -3.34749810
## 1035392 3.22051698
## New.CleanUp.ReferenceOTU29218 0.89552151
## New.CleanUp.ReferenceOTU31330 -1.79243655
## New.CleanUp.ReferenceOTU2842 -1.82819986
## New.CleanUp.ReferenceOTU9735 0.37758089
## New.CleanUp.ReferenceOTU35153 -0.05547643
## New.CleanUp.ReferenceOTU13188 1.72492958
## New.ReferenceOTU47 5.96117000
## 334340 0.57860119
## New.CleanUp.ReferenceOTU33036 0.42502364
## TrialTimeDSS_Day7...TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU1669 0.69057736
## New.CleanUp.ReferenceOTU4077 1.39374845
## New.CleanUp.ReferenceOTU8703 0.93195136
## New.ReferenceOTU252 1.22437346
## New.CleanUp.ReferenceOTU1784 2.56218390
## 4426298 -0.37177020
## 179018 2.56727992
## 940433 -4.58309337
## New.CleanUp.ReferenceOTU8184 1.24703526
## New.CleanUp.ReferenceOTU610 -3.66784129
## 1035392 0.05853557
## New.CleanUp.ReferenceOTU29218 0.90425296
## New.CleanUp.ReferenceOTU31330 -3.99165213
## New.CleanUp.ReferenceOTU2842 -2.59896791
## New.CleanUp.ReferenceOTU9735 1.84460425
## New.CleanUp.ReferenceOTU35153 0.69652299
## New.CleanUp.ReferenceOTU13188 1.42595410
## New.ReferenceOTU47 6.94919627
## 334340 0.57032778
## New.CleanUp.ReferenceOTU33036 2.74862879
## AveExpr F P.Value adj.P.Val
## New.CleanUp.ReferenceOTU1669 0.4720101 50.84309 2.189607e-10 1.850218e-07
## New.CleanUp.ReferenceOTU4077 0.4319282 48.14330 6.528607e-10 2.758337e-07
## New.CleanUp.ReferenceOTU8703 0.4577158 39.21376 1.592695e-09 4.126911e-07
## New.ReferenceOTU252 0.6219408 44.62457 1.953567e-09 4.126911e-07
## New.CleanUp.ReferenceOTU1784 0.7216865 42.70974 3.791315e-09 6.179945e-07
## 4426298 0.9788228 32.81423 4.388126e-09 6.179945e-07
## 179018 0.7453878 48.06417 1.343829e-08 1.622193e-06
## 940433 0.4913868 38.69089 2.485979e-08 2.625815e-06
## New.CleanUp.ReferenceOTU8184 0.4387976 32.45094 3.415300e-08 2.981936e-06
## New.CleanUp.ReferenceOTU610 0.6077053 29.16040 3.528918e-08 2.981936e-06
## 1035392 1.2456666 20.05628 4.525822e-08 3.476654e-06
## New.CleanUp.ReferenceOTU29218 0.6046870 23.69026 7.314841e-08 5.150867e-06
## New.CleanUp.ReferenceOTU31330 0.3629891 28.49595 1.006682e-07 6.543434e-06
## New.CleanUp.ReferenceOTU2842 0.5667683 22.69095 1.733045e-07 9.220558e-06
## New.CleanUp.ReferenceOTU9735 0.4723734 25.42702 1.744733e-07 9.220558e-06
## New.CleanUp.ReferenceOTU35153 0.4495968 27.02675 1.832229e-07 9.220558e-06
## New.CleanUp.ReferenceOTU13188 0.7979979 19.99896 1.855024e-07 9.220558e-06
## New.ReferenceOTU47 1.2920694 23.35282 2.292253e-07 1.076085e-05
## 334340 0.5386564 25.30748 2.652314e-07 1.179582e-05
## New.CleanUp.ReferenceOTU33036 0.5281649 20.83993 3.342909e-07 1.412379e-05
results <- decideTests(fitzig2)
head(results)
## Contrasts
## TrialTimeDSS_Day10 - TrialTimeDSS_Day7
## New.CleanUp.ReferenceOTU31068 0
## New.ReferenceOTU33 0
## New.ReferenceOTU122 0
## 360329 0
## New.CleanUp.ReferenceOTU20966 0
## New.CleanUp.ReferenceOTU6149 0
## Contrasts
## TrialTimeDSS_Day7 - TrialTimeDSS_Day4
## New.CleanUp.ReferenceOTU31068 0
## New.ReferenceOTU33 0
## New.ReferenceOTU122 0
## 360329 0
## New.CleanUp.ReferenceOTU20966 0
## New.CleanUp.ReferenceOTU6149 0
## Contrasts
## TrialTimeDSS_Day4 - TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU31068 0
## New.ReferenceOTU33 0
## New.ReferenceOTU122 0
## 360329 0
## New.CleanUp.ReferenceOTU20966 0
## New.CleanUp.ReferenceOTU6149 0
## Contrasts
## TrialTimeDSS_Day7 - TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU31068 0
## New.ReferenceOTU33 0
## New.ReferenceOTU122 0
## 360329 0
## New.CleanUp.ReferenceOTU20966 0
## New.CleanUp.ReferenceOTU6149 0
##Option to view a venn diagram of important OTUs. Note: Unable to print a VennDiagram with more than five sets of comparisons.
vennDiagram(results)
#vennCounts(results)
##Write a table to be used for graphing later.
contrasts.coefs <- topTable(fitzig2, number = 25, sort.by="F")
write.table(contrasts.coefs, "dss.feces/fitzig.contrasts.res.txt", sep = "\t")
##Try the featureFit model
d7.base <- which(pData(MR.dss.feces.trim)$TrialTime == "DSS_Day7" | pData(MR.dss.feces.trim)$TrialTime == "DSS_Base1")
#samplestokeep <- which(pData(MR.dss.feces.trim)$Time == "Day7")
MR.dss.feces.d7.base <- MR.dss.feces.trim[,d7.base]
MR.dss.feces.d7.base # contains 16 samples, seems correct.
## MRexperiment (storageMode: environment)
## assayData: 845 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 69 ... 129 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
#determine the depth per sample. Add mean() to determine on average, a sample will have this number of OTU calls in total (proportion of a given OTU, or calls attributed to a specific OTU, is still unknown).
#colSums(MRcounts(MR.dss.feces.d7.base))
#determine the average presence of positive samples per OTU/Feature. On average, an OTU will be present in this number of samples.
(mean(rowSums((MRcounts(MR.dss.feces.d7.base)>0))))
## [1] 6.498225
MR.dss.feces.d7.base <- filterData(MR.dss.feces.d7.base, present=9, depth=1) #OTU must be present in over half of the samples.
MR.dss.feces.d7.base
## MRexperiment (storageMode: environment)
## assayData: 219 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 69 ... 129 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU32540
## New.CleanUp.ReferenceOTU30597 ...
## New.CleanUp.ReferenceOTU23121 (219 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
pData(MR.dss.feces.d7.base)
## X.SampleID BarcodeSequence LinkerPrimerSequence Trial Time TrialTime
## 133 133 AGTCACTG GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 69 69 ACGTTCGA GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 8 8 ACTGGTGT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 6 6 ACTCACTC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 4 4 ACGACTTG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 70 70 ACTCGTCT GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 2 2 ACACTCAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 68 68 ACGTACCA GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 1 1 ACACACAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 135 135 AGTGTGTC GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 5 5 ACGTCAAC GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 67 67 ACGAAGGT GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 3 3 ACAGGTCT GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 7 7 ACTCTGAG GTGTGCCAGCMGCCGCGGTAA DSS Base1 DSS_Base1
## 128 128 ATCGTTCC GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## 129 129 AGACTCTG GTGTGCCAGCMGCCGCGGTAA DSS Day7 DSS_Day7
## Description
## 133 DSS_30-5_Rectum_d7
## 69 DSS_30-4_Day7_d10
## 8 DSS_30-8_Base1_d7
## 6 DSS_30-5_Base1_d7
## 4 DSS_29-14_Base1_d10
## 70 DSS_30-7_Day7_d10
## 2 DSS_29-11_Base1_d7
## 68 DSS_29-14_Day7_d10
## 1 DSS_29-8_Base1_d7
## 135 DSS_30-8_Rectum_d7
## 5 DSS_30-4_Base1_d10
## 67 DSS_29-12_Day7_d10
## 3 DSS_29-12_Base1_d10
## 7 DSS_30-7_Base1_d10
## 128 DSS_29-8_Rectum_d7
## 129 DSS_29-11_Rectum_d7
d7.base.pd <- pData(MR.dss.feces.d7.base)
d7.base.mod <- model.matrix(~TrialTime, data=d7.base.pd)
d7.base.mod #Comparing all of Day 7 to Baseline, which becomes the intercept.
## (Intercept) TrialTimeDSS_Day7
## 133 1 1
## 69 1 1
## 8 1 0
## 6 1 0
## 4 1 0
## 70 1 1
## 2 1 0
## 68 1 1
## 1 1 0
## 135 1 1
## 5 1 0
## 67 1 1
## 3 1 0
## 7 1 0
## 128 1 1
## 129 1 1
## attr(,"assign")
## [1] 0 1
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime
## [1] "contr.treatment"
ffit.d7.base <- fitFeatureModel(MR.dss.feces.d7.base, mod=d7.base.mod) # error is thrown if there is no overlap of certain OTUs (if they are completely separate). Filtering OTUs to a particular presence (must be present in a certain number of samples) and depth may reduce this error.
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
MRcoefs(ffit.d7.base, group=3)
## logFC se pvalues
## 703741 -4.897412 1.0274000 1.871731e-06
## 545371 -2.942560 0.8423915 4.774422e-04
## New.ReferenceOTU284 2.837908 0.8284795 6.138008e-04
## New.ReferenceOTU159 -3.452079 1.0553058 1.071056e-03
## New.CleanUp.ReferenceOTU29398 -2.394372 0.7791246 2.118067e-03
## New.ReferenceOTU98 -3.716892 1.2307972 2.528528e-03
## 367213 -2.773029 0.9227506 2.654260e-03
## New.CleanUp.ReferenceOTU25058 -2.504441 0.8772010 4.303187e-03
## New.CleanUp.ReferenceOTU6513 2.942476 1.0443424 4.839313e-03
## New.CleanUp.ReferenceOTU23121 -2.246939 0.8292290 6.734977e-03
## adjPvalues
## 703741 0.0004005504
## 545371 0.0437844541
## New.ReferenceOTU284 0.0437844541
## New.ReferenceOTU159 0.0573014910
## New.CleanUp.ReferenceOTU29398 0.0811445082
## New.ReferenceOTU98 0.0811445082
## 367213 0.0811445082
## New.CleanUp.ReferenceOTU25058 0.1150681001
## New.CleanUp.ReferenceOTU6513 0.1150681001
## New.CleanUp.ReferenceOTU23121 0.1441285031
MRfulltable(ffit.d7.base, group=3)
## +samples in group 0 +samples in group 1
## 703741 8 6
## 545371 6 4
## New.ReferenceOTU284 5 6
## New.ReferenceOTU159 7 4
## New.CleanUp.ReferenceOTU29398 6 5
## New.ReferenceOTU98 7 2
## 367213 6 5
## New.CleanUp.ReferenceOTU25058 5 4
## New.CleanUp.ReferenceOTU6513 2 7
## New.CleanUp.ReferenceOTU23121 5 5
## counts in group 0 counts in group 1
## 703741 4637 34
## 545371 178 5
## New.ReferenceOTU284 30 506
## New.ReferenceOTU159 707 18
## New.CleanUp.ReferenceOTU29398 90 7
## New.ReferenceOTU98 222 2
## 367213 472 21
## New.CleanUp.ReferenceOTU25058 36 5
## New.CleanUp.ReferenceOTU6513 2 54
## New.CleanUp.ReferenceOTU23121 72 8
## oddsRatio lower upper
## 703741 Inf 0.1920912805 Inf
## 545371 2.79345993 0.2485664014 45.7630284
## New.ReferenceOTU284 0.57651202 0.0344896106 7.3578462
## New.ReferenceOTU159 6.15667161 0.4139057020 391.6261413
## New.CleanUp.ReferenceOTU29398 1.73456921 0.1359093365 28.9942386
## New.ReferenceOTU98 16.19942271 1.0875940018 1088.4370087
## 367213 1.73456921 0.1359093365 28.9942386
## New.CleanUp.ReferenceOTU25058 1.61371648 0.1557765950 18.7666075
## New.CleanUp.ReferenceOTU6513 0.06173059 0.0009187486 0.9194608
## New.CleanUp.ReferenceOTU23121 1.00000000 0.0855095663 11.6945980
## fisherP fisherAdjP logFC se
## 703741 0.46666667 1.0000000 -4.897412 1.0274000
## 545371 0.60839161 1.0000000 -2.942560 0.8423915
## New.ReferenceOTU284 1.00000000 1.0000000 2.837908 0.8284795
## New.ReferenceOTU159 0.28205128 1.0000000 -3.452079 1.0553058
## New.CleanUp.ReferenceOTU29398 1.00000000 1.0000000 -2.394372 0.7791246
## New.ReferenceOTU98 0.04055944 0.6832706 -3.716892 1.2307972
## 367213 1.00000000 1.0000000 -2.773029 0.9227506
## New.CleanUp.ReferenceOTU25058 1.00000000 1.0000000 -2.504441 0.8772010
## New.CleanUp.ReferenceOTU6513 0.04055944 0.6832706 2.942476 1.0443424
## New.CleanUp.ReferenceOTU23121 1.00000000 1.0000000 -2.246939 0.8292290
## pvalues adjPvalues
## 703741 1.871731e-06 0.0004005504
## 545371 4.774422e-04 0.0437844541
## New.ReferenceOTU284 6.138008e-04 0.0437844541
## New.ReferenceOTU159 1.071056e-03 0.0573014910
## New.CleanUp.ReferenceOTU29398 2.118067e-03 0.0811445082
## New.ReferenceOTU98 2.528528e-03 0.0811445082
## 367213 2.654260e-03 0.0811445082
## New.CleanUp.ReferenceOTU25058 4.303187e-03 0.1150681001
## New.CleanUp.ReferenceOTU6513 4.839313e-03 0.1150681001
## New.CleanUp.ReferenceOTU23121 6.734977e-03 0.1441285031
##export results from the fit for plotting.
write.table(MRcoefs(ffit.d7.base, group=3), "dss.feces/ffit.d7.base.res.txt", sep="\t")
##export normalized, logged counts for the model. This is for plotting later.
d7.base.norm <- MRcounts(MR.dss.feces.d7.base, norm=TRUE, log=TRUE)
head(d7.base.norm)
## 133 69 8 6 4
## New.CleanUp.ReferenceOTU32540 5.751234 4.823872 3.900846 3.358855 0.000000
## New.CleanUp.ReferenceOTU30597 0.000000 1.900042 2.164889 3.358855 0.000000
## New.ReferenceOTU158 5.179602 3.873932 2.164889 5.698383 3.924518
## New.CleanUp.ReferenceOTU17891 4.218870 3.576397 0.000000 2.493040 0.000000
## New.ReferenceOTU164 1.679263 1.900042 2.994334 0.000000 2.184629
## New.ReferenceOTU161 0.000000 0.000000 2.164889 0.000000 3.540808
## 70 2 68 1 135
## New.CleanUp.ReferenceOTU32540 1.947533 3.114839 0.000000 6.104266 3.354843
## New.CleanUp.ReferenceOTU30597 1.947533 2.272447 1.902933 0.000000 4.034270
## New.ReferenceOTU158 2.747234 6.538445 4.334717 3.863871 7.694559
## New.CleanUp.ReferenceOTU17891 1.947533 2.272447 4.334717 4.813455 4.034270
## New.ReferenceOTU164 1.947533 2.272447 2.695872 0.000000 4.678939
## New.ReferenceOTU161 0.000000 3.114839 3.204638 5.258826 4.842592
## 5 67 3 7 128
## New.CleanUp.ReferenceOTU32540 0.000000 0.000000 2.180647 3.835352 0.000000
## New.CleanUp.ReferenceOTU30597 3.085873 0.000000 0.000000 0.000000 2.217117
## New.ReferenceOTU158 6.445302 5.945000 4.222483 2.439564 8.926004
## New.CleanUp.ReferenceOTU17891 3.998310 0.000000 3.536141 0.000000 3.783847
## New.ReferenceOTU164 0.000000 6.887821 5.754982 3.300059 5.000987
## New.ReferenceOTU161 7.527638 9.657887 8.036086 4.224898 7.181506
## 129
## New.CleanUp.ReferenceOTU32540 0.000000
## New.CleanUp.ReferenceOTU30597 0.000000
## New.ReferenceOTU158 0.000000
## New.CleanUp.ReferenceOTU17891 0.000000
## New.ReferenceOTU164 2.374094
## New.ReferenceOTU161 4.706232
write.table(d7.base.norm, "dss.feces/d7.base.norm.txt", sep="\t") #four significantly different OTUs found with fitFeatureModel
#Day 10 vs. Day 7
d7.d10 <- which(pData(MR.dss.feces.trim)$TrialTime == "DSS_Day7" | pData(MR.dss.feces.trim)$TrialTime == "DSS_Day10")
MR.dss.feces.d7.d10 <- MR.dss.feces.trim[,d7.d10]
MR.dss.feces.d7.d10 # contains 12 samples, seems correct.
## MRexperiment (storageMode: environment)
## assayData: 845 features, 12 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 129 (12 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
#determine the depth per sample. Add mean() to determine on average, a sample will have this number of OTU calls in total (proportion of a given OTU, or calls attributed to a specific OTU, is still unknown).
#colSums(MRcounts(MR.dss.feces.d7.base))
#determine the average presence of positive samples per OTU/Feature. On average, an OTU will be present in this number of samples.
(mean(rowSums((MRcounts(MR.dss.feces.d7.d10)>0))))
## [1] 5.481657
MR.dss.feces.d7.d10 <- filterData(MR.dss.feces.d7.d10, present=7, depth=1) #OTU must be present in over half of the samples.
MR.dss.feces.d7.d10
## MRexperiment (storageMode: environment)
## assayData: 283 features, 12 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 132 ... 129 (12 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.CleanUp.ReferenceOTU23121 (283 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
TrialTime.d7.d10 <- pData(MR.dss.feces.d7.d10)$TrialTime
TrialTime.d7.d10 <- relevel(TrialTime.d7.d10, ref="DSS_Day7")
d7.d10.mod <- model.matrix(~TrialTime.d7.d10)
d7.d10.mod #Comparing all of Day 10 to Day 7, which has become the intercept.
## (Intercept) TrialTime.d7.d10DSS_Day10
## 1 1 0
## 2 1 1
## 3 1 1
## 4 1 0
## 5 1 0
## 6 1 1
## 7 1 0
## 8 1 1
## 9 1 0
## 10 1 0
## 11 1 0
## 12 1 0
## attr(,"assign")
## [1] 0 1
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.d7.d10
## [1] "contr.treatment"
ffit.d7.d10 <- fitFeatureModel(MR.dss.feces.d7.d10, mod=d7.d10.mod) # error is thrown if there is no overlap of certain OTUs (if they are completely separate). Filtering OTUs to a particular presence (must be present in a certain number of samples) and depth may reduce this error.
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
MRcoefs(ffit.d7.d10)
## logFC se pvalues adjPvalues
## New.ReferenceOTU164 3.141511 1.320721 0.017376909 0.9991447
## New.ReferenceOTU38 3.108537 1.196288 0.009363584 0.9991447
## New.ReferenceOTU138 3.061908 1.187835 0.009945392 0.9991447
## New.ReferenceOTU72 3.030787 1.277878 0.017704777 0.9991447
## New.ReferenceOTU88 2.590703 1.126910 0.021508103 0.9991447
## New.CleanUp.ReferenceOTU34034 2.346899 1.469608 0.110275724 0.9991447
## New.ReferenceOTU213 2.154389 1.113925 0.053106592 0.9991447
## New.ReferenceOTU126 2.107777 1.457564 0.148150258 0.9991447
## New.ReferenceOTU11 2.091766 1.646918 0.204045556 0.9991447
## 560336 2.073676 1.260586 0.099967812 0.9991447
MRfulltable(ffit.d7.d10, group=3) #no significant differences found with fitFeatureModel
## +samples in group 0 +samples in group 1
## New.ReferenceOTU38 5 2
## New.ReferenceOTU138 5 2
## New.ReferenceOTU164 8 2
## New.ReferenceOTU72 4 3
## New.ReferenceOTU88 5 2
## New.ReferenceOTU213 5 2
## New.ReferenceOTU66 5 3
## New.ReferenceOTU21 6 3
## 560336 5 2
## 533624 7 2
## counts in group 0 counts in group 1 oddsRatio
## New.ReferenceOTU38 62 853 1.5956417
## New.ReferenceOTU138 140 1022 1.5956417
## New.ReferenceOTU164 62 278 Inf
## New.ReferenceOTU72 6 639 0.3647576
## New.ReferenceOTU88 31 246 1.5956417
## New.ReferenceOTU213 26 102 1.5956417
## New.ReferenceOTU66 44 179 0.5825102
## New.ReferenceOTU21 105 6 1.0000000
## 560336 61 232 1.5956417
## 533624 14 31 5.7343599
## lower upper fisherP fisherAdjP logFC
## New.ReferenceOTU38 0.075810549 34.556052 1.00000000 1 3.108537
## New.ReferenceOTU138 0.075810549 34.556052 1.00000000 1 3.061908
## New.ReferenceOTU164 0.420980015 Inf 0.09090909 1 3.141511
## New.ReferenceOTU72 0.005104939 7.204691 0.57575758 1 3.030787
## New.ReferenceOTU88 0.075810549 34.556052 1.00000000 1 2.590703
## New.ReferenceOTU213 0.075810549 34.556052 1.00000000 1 2.154389
## New.ReferenceOTU66 0.007972985 12.432501 1.00000000 1 1.594836
## New.ReferenceOTU21 0.012758835 27.869693 1.00000000 1 -1.763551
## 560336 0.075810549 34.556052 1.00000000 1 2.073676
## 533624 0.203430018 468.211245 0.23636364 1 1.619851
## se pvalues adjPvalues
## New.ReferenceOTU38 1.1962879 0.009363584 0.9991447
## New.ReferenceOTU138 1.1878347 0.009945392 0.9991447
## New.ReferenceOTU164 1.3207205 0.017376909 0.9991447
## New.ReferenceOTU72 1.2778775 0.017704777 0.9991447
## New.ReferenceOTU88 1.1269097 0.021508103 0.9991447
## New.ReferenceOTU213 1.1139246 0.053106592 0.9991447
## New.ReferenceOTU66 0.8992341 0.076137634 0.9991447
## New.ReferenceOTU21 1.0147771 0.082233603 0.9991447
## 560336 1.2605861 0.099967812 0.9991447
## 533624 0.9965485 0.104064292 0.9991447
##Day 7 vs. Day 4
d7.d4 <- which(pData(MR.dss.feces.trim)$TrialTime == "DSS_Day7" | pData(MR.dss.feces.trim)$TrialTime == "DSS_Day4")
MR.dss.feces.d7.d4 <- MR.dss.feces.trim[,d7.d4]
MR.dss.feces.d7.d4 # contains 16 samples, seems correct.
## MRexperiment (storageMode: environment)
## assayData: 845 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 69 ... 47 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
#determine the depth per sample. Add mean() to determine on average, a sample will have this number of OTU calls in total (proportion of a given OTU, or calls attributed to a specific OTU, is still unknown).
#colSums(MRcounts(MR.dss.feces.d7.base))
#determine the average presence of positive samples per OTU/Feature. On average, an OTU will be present in this number of samples.
(mean(rowSums((MRcounts(MR.dss.feces.d7.d4)>0))))
## [1] 7.27929
MR.dss.feces.d7.d4 <- filterData(MR.dss.feces.d7.d4, present=9, depth=1) #OTU must be present in over half of the samples.
MR.dss.feces.d7.d4
## MRexperiment (storageMode: environment)
## assayData: 286 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 133 69 ... 47 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.CleanUp.ReferenceOTU23121 (286 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
TrialTime.d7.d4 <- pData(MR.dss.feces.d7.d4)$TrialTime
TrialTime.d7.d4 <- relevel(TrialTime.d7.d4, ref="DSS_Day4")
d7.d4.mod <- model.matrix(~TrialTime.d7.d4)
d7.d4.mod #Comparing all of Day 10 to Day 7, which has become the intercept.
## (Intercept) TrialTime.d7.d4DSS_Day7
## 1 1 1
## 2 1 1
## 3 1 0
## 4 1 0
## 5 1 1
## 6 1 1
## 7 1 1
## 8 1 1
## 9 1 0
## 10 1 0
## 11 1 0
## 12 1 1
## 13 1 0
## 14 1 1
## 15 1 0
## 16 1 0
## attr(,"assign")
## [1] 0 1
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.d7.d4
## [1] "contr.treatment"
ffit.d7.d4 <- fitFeatureModel(MR.dss.feces.d7.d4, mod=d7.d4.mod) # error is thrown if there is no overlap of certain OTUs (if they are completely separate). Filtering OTUs to a particular presence (must be present in a certain number of samples) and depth may reduce this error.
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
MRcoefs(ffit.d7.d4)
## logFC se pvalues adjPvalues
## New.CleanUp.ReferenceOTU14843 2.215846 0.8129696 0.006418095 0.9113695
## New.CleanUp.ReferenceOTU30191 -2.123012 0.7526825 0.004793487 0.9113695
## New.CleanUp.ReferenceOTU17082 2.064465 0.8515316 0.015333117 0.9952608
## New.CleanUp.ReferenceOTU33525 1.924811 0.8852784 0.029686835 0.9952608
## New.ReferenceOTU152 -1.890333 1.0279203 0.065917024 0.9952608
## 545371 -1.833903 0.7849245 0.019470046 0.9952608
## New.CleanUp.ReferenceOTU5810 -1.759406 0.9493196 0.063834483 0.9952608
## New.ReferenceOTU220 1.707057 1.0268129 0.096416341 0.9952608
## New.ReferenceOTU62 1.656105 0.8912007 0.063128530 0.9952608
## New.ReferenceOTU219 -1.641029 0.7573740 0.030254994 0.9952608
MRfulltable(ffit.d7.d4, group=3) #no significant differences found with fitFeatureModel
## +samples in group 0 +samples in group 1
## New.CleanUp.ReferenceOTU30191 7 4
## New.CleanUp.ReferenceOTU14843 4 5
## New.CleanUp.ReferenceOTU17082 3 7
## 545371 5 4
## New.CleanUp.ReferenceOTU15901 7 5
## New.CleanUp.ReferenceOTU33525 3 8
## New.ReferenceOTU219 5 6
## New.CleanUp.ReferenceOTU29681 6 6
## 703741 6 6
## New.CleanUp.ReferenceOTU26411 6 6
## counts in group 0 counts in group 1
## New.CleanUp.ReferenceOTU30191 93 4
## New.CleanUp.ReferenceOTU14843 14 117
## New.CleanUp.ReferenceOTU17082 10 120
## 545371 51 5
## New.CleanUp.ReferenceOTU15901 110 6
## New.CleanUp.ReferenceOTU33525 11 78
## New.ReferenceOTU219 270 15
## New.CleanUp.ReferenceOTU29681 111 7
## 703741 256 34
## New.CleanUp.ReferenceOTU26411 129 12
## oddsRatio lower upper fisherP
## New.CleanUp.ReferenceOTU30191 6.1566716 0.413905702 391.6261413 0.28205128
## New.CleanUp.ReferenceOTU14843 0.6196875 0.053286136 6.4194496 1.00000000
## New.CleanUp.ReferenceOTU17082 0.1024524 0.001599442 1.4715263 0.11888112
## 545371 1.6137165 0.155776595 18.7666075 1.00000000
## New.CleanUp.ReferenceOTU15901 3.8389676 0.227219492 250.8760421 0.56923077
## New.CleanUp.ReferenceOTU33525 0.0000000 0.000000000 0.7545217 0.02564103
## New.ReferenceOTU219 0.5765120 0.034489611 7.3578462 1.00000000
## New.CleanUp.ReferenceOTU29681 1.0000000 0.054719416 18.2750487 1.00000000
## 703741 1.0000000 0.054719416 18.2750487 1.00000000
## New.CleanUp.ReferenceOTU26411 1.0000000 0.054719416 18.2750487 1.00000000
## fisherAdjP logFC se pvalues
## New.CleanUp.ReferenceOTU30191 1 -2.123012 0.7526825 0.004793487
## New.CleanUp.ReferenceOTU14843 1 2.215846 0.8129696 0.006418095
## New.CleanUp.ReferenceOTU17082 1 2.064465 0.8515316 0.015333117
## 545371 1 -1.833903 0.7849245 0.019470046
## New.CleanUp.ReferenceOTU15901 1 -1.613295 0.7156038 0.024167717
## New.CleanUp.ReferenceOTU33525 1 1.924811 0.8852784 0.029686835
## New.ReferenceOTU219 1 -1.641029 0.7573740 0.030254994
## New.CleanUp.ReferenceOTU29681 1 -1.455930 0.6930902 0.035672966
## 703741 1 -1.372946 0.6843099 0.044821905
## New.CleanUp.ReferenceOTU26411 1 -1.419524 0.7249378 0.050214429
## adjPvalues
## New.CleanUp.ReferenceOTU30191 0.9113695
## New.CleanUp.ReferenceOTU14843 0.9113695
## New.CleanUp.ReferenceOTU17082 0.9952608
## 545371 0.9952608
## New.CleanUp.ReferenceOTU15901 0.9952608
## New.CleanUp.ReferenceOTU33525 0.9952608
## New.ReferenceOTU219 0.9952608
## New.CleanUp.ReferenceOTU29681 0.9952608
## 703741 0.9952608
## New.CleanUp.ReferenceOTU26411 0.9952608
##Day 4 vs. Baseline
d4.base <- which(pData(MR.dss.feces.trim)$TrialTime == "DSS_Base1" | pData(MR.dss.feces.trim)$TrialTime == "DSS_Day4")
MR.dss.feces.d4.base <- MR.dss.feces.trim[,d4.base]
MR.dss.feces.d4.base # contains 16 samples, seems correct.
## MRexperiment (storageMode: environment)
## assayData: 845 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 48 8 ... 47 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
#determine the depth per sample. Add mean() to determine on average, a sample will have this number of OTU calls in total (proportion of a given OTU, or calls attributed to a specific OTU, is still unknown).
#colSums(MRcounts(MR.dss.feces.d7.base))
#determine the average presence of positive samples per OTU/Feature. On average, an OTU will be present in this number of samples.
(mean(rowSums((MRcounts(MR.dss.feces.d4.base)>0))))
## [1] 6.885207
MR.dss.feces.d4.base <- filterData(MR.dss.feces.d4.base, present=9, depth=1) #OTU must be present in over half of the samples.
MR.dss.feces.d4.base
## MRexperiment (storageMode: environment)
## assayData: 235 features, 16 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 48 8 ... 47 (16 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.ReferenceOTU33 772384 ... New.ReferenceOTU283
## (235 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
TrialTime.d4.base <- pData(MR.dss.feces.d4.base)$TrialTime
TrialTime.d4.base <- relevel(TrialTime.d4.base, ref="DSS_Base1")
d4.base.mod <- model.matrix(~TrialTime.d4.base)
d4.base.mod #Comparing all of Day 10 to Day 7, which has become the intercept.
## (Intercept) TrialTime.d4.baseDSS_Day4
## 1 1 1
## 2 1 0
## 3 1 0
## 4 1 1
## 5 1 0
## 6 1 0
## 7 1 0
## 8 1 0
## 9 1 0
## 10 1 0
## 11 1 1
## 12 1 1
## 13 1 1
## 14 1 1
## 15 1 1
## 16 1 1
## attr(,"assign")
## [1] 0 1
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.d4.base
## [1] "contr.treatment"
ffit.d4.base <- fitFeatureModel(MR.dss.feces.d4.base, mod=d4.base.mod) # error is thrown if there is no overlap of certain OTUs (if they are completely separate). Filtering OTUs to a particular presence (must be present in a certain number of samples) and depth may reduce this error.
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
MRcoefs(ffit.d4.base)
## logFC se pvalues adjPvalues
## 807795 -3.621133 NA NA NA
## 703741 -3.353291 1.0626303 0.001601403 0.1742721
## New.CleanUp.ReferenceOTU20191 -3.313884 0.9964694 0.000882203 0.1742721
## 364824 -2.864780 1.1141260 0.010131024 0.1820025
## New.CleanUp.ReferenceOTU21586 -2.838396 0.9413649 0.002568164 0.1742721
## New.CleanUp.ReferenceOTU27722 -2.818354 1.0386115 0.006656069 0.1742721
## New.ReferenceOTU159 -2.804346 1.0149401 0.005726120 0.1742721
## 663226 -2.678885 NA NA NA
## New.ReferenceOTU98 -2.650582 0.9064855 0.003455425 0.1742721
## 365965 2.547604 0.9646162 0.008264846 0.1742721
MRfulltable(ffit.d4.base, group=3) #no significantly different OTUs
## +samples in group 0 +samples in group 1
## New.CleanUp.ReferenceOTU20191 6 4
## 703741 8 6
## New.CleanUp.ReferenceOTU21586 6 3
## New.ReferenceOTU98 7 4
## New.ReferenceOTU159 7 4
## New.CleanUp.ReferenceOTU27722 6 3
## New.CleanUp.ReferenceOTU30439 5 4
## New.CleanUp.ReferenceOTU30136 7 4
## 365965 5 6
## 568118 4 6
## counts in group 0 counts in group 1
## New.CleanUp.ReferenceOTU20191 370 26
## 703741 4637 256
## New.CleanUp.ReferenceOTU21586 47 6
## New.ReferenceOTU98 222 14
## New.ReferenceOTU159 707 20
## New.CleanUp.ReferenceOTU27722 103 6
## New.CleanUp.ReferenceOTU30439 28 4
## New.CleanUp.ReferenceOTU30136 59 6
## 365965 23 1815
## 568118 532 80
## oddsRatio lower upper fisherP
## New.CleanUp.ReferenceOTU20191 2.793460 0.24856640 45.763028 0.6083916
## 703741 Inf 0.19209128 Inf 0.4666667
## New.CleanUp.ReferenceOTU21586 4.473682 0.40865902 75.900478 0.3146853
## New.ReferenceOTU98 6.156672 0.41390570 391.626141 0.2820513
## New.ReferenceOTU159 6.156672 0.41390570 391.626141 0.2820513
## New.CleanUp.ReferenceOTU27722 4.473682 0.40865902 75.900478 0.3146853
## New.CleanUp.ReferenceOTU30439 1.613716 0.15577659 18.766607 1.0000000
## New.CleanUp.ReferenceOTU30136 6.156672 0.41390570 391.626141 0.2820513
## 365965 0.576512 0.03448961 7.357846 1.0000000
## 568118 0.357979 0.02185170 4.023070 0.6083916
## fisherAdjP logFC se pvalues
## New.CleanUp.ReferenceOTU20191 1 -3.313884 0.9964694 0.000882203
## 703741 1 -3.353291 1.0626303 0.001601403
## New.CleanUp.ReferenceOTU21586 1 -2.838396 0.9413649 0.002568164
## New.ReferenceOTU98 1 -2.650582 0.9064855 0.003455425
## New.ReferenceOTU159 1 -2.804346 1.0149401 0.005726120
## New.CleanUp.ReferenceOTU27722 1 -2.818354 1.0386115 0.006656069
## New.CleanUp.ReferenceOTU30439 1 -2.364094 0.8784172 0.007117192
## New.CleanUp.ReferenceOTU30136 1 -2.188187 0.8132700 0.007132297
## 365965 1 2.547604 0.9646162 0.008264846
## 568118 1 -2.496954 0.9467274 0.008353004
## adjPvalues
## New.CleanUp.ReferenceOTU20191 0.1742721
## 703741 0.1742721
## New.CleanUp.ReferenceOTU21586 0.1742721
## New.ReferenceOTU98 0.1742721
## New.ReferenceOTU159 0.1742721
## New.CleanUp.ReferenceOTU27722 0.1742721
## New.CleanUp.ReferenceOTU30439 0.1742721
## New.CleanUp.ReferenceOTU30136 0.1742721
## 365965 0.1742721
## 568118 0.1742721
##Day10 vs. Baseline
d10.base <- which(pData(MR.dss.feces.trim)$TrialTime == "DSS_Base1" | pData(MR.dss.feces.trim)$TrialTime == "DSS_Day10")
MR.dss.feces.d10.base <- MR.dss.feces.trim[,d10.base]
MR.dss.feces.d10.base # contains 16 samples, seems correct.
## MRexperiment (storageMode: environment)
## assayData: 845 features, 12 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 132 131 ... 7 (12 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.CleanUp.ReferenceOTU31068 New.ReferenceOTU33
## ... New.ReferenceOTU283 (845 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
#determine the depth per sample. Add mean() to determine on average, a sample will have this number of OTU calls in total (proportion of a given OTU, or calls attributed to a specific OTU, is still unknown).
#colSums(MRcounts(MR.dss.feces.d7.base))
#determine the average presence of positive samples per OTU/Feature. On average, an OTU will be present in this number of samples.
(mean(rowSums((MRcounts(MR.dss.feces.d10.base)>0))))
## [1] 5.087574
MR.dss.feces.d10.base <- filterData(MR.dss.feces.d10.base, present=9, depth=1) #OTU must be present in over half of the samples.
MR.dss.feces.d10.base
## MRexperiment (storageMode: environment)
## assayData: 108 features, 12 samples
## element names: counts, z, zUsed
## protocolData: none
## phenoData
## sampleNames: 132 131 ... 7 (12 total)
## varLabels: X.SampleID BarcodeSequence ... Description (7 total)
## varMetadata: labelDescription
## featureData
## featureNames: New.ReferenceOTU158 New.ReferenceOTU161 ...
## New.ReferenceOTU98 (108 total)
## fvarLabels: Kingdom Phylum ... Species (7 total)
## fvarMetadata: labelDescription
## experimentData: use 'experimentData(object)'
## Annotation:
TrialTime.d10.base <- pData(MR.dss.feces.d10.base)$TrialTime
TrialTime.d10.base <- relevel(TrialTime.d10.base, ref="DSS_Base1")
d10.base.mod <- model.matrix(~TrialTime.d10.base)
d10.base.mod #Comparing all of Day 10 to Day 7, which has become the intercept.
## (Intercept) TrialTime.d10.baseDSS_Day10
## 1 1 1
## 2 1 1
## 3 1 0
## 4 1 0
## 5 1 0
## 6 1 1
## 7 1 0
## 8 1 0
## 9 1 1
## 10 1 0
## 11 1 0
## 12 1 0
## attr(,"assign")
## [1] 0 1
## attr(,"contrasts")
## attr(,"contrasts")$TrialTime.d10.base
## [1] "contr.treatment"
ffit.d10.base <- fitFeatureModel(MR.dss.feces.d10.base, mod=d10.base.mod) # error is thrown if there is no overlap of certain OTUs (if they are completely separate). Filtering OTUs to a particular presence (must be present in a certain number of samples) and depth may reduce this error.
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
MRcoefs(ffit.d10.base)
## logFC se pvalues adjPvalues
## New.ReferenceOTU126 3.047478 1.174853 0.009488771 0.4687476
## 703741 -3.034467 1.217756 0.012707900 0.4687476
## New.ReferenceOTU10 3.019731 1.421495 0.033642152 0.4687476
## New.ReferenceOTU268 2.912982 1.246896 0.019481482 0.4687476
## New.ReferenceOTU159 -2.906777 1.564235 0.063130231 0.5256078
## New.ReferenceOTU209 2.678243 1.336460 0.045071886 0.4687476
## New.ReferenceOTU277 2.658932 1.095564 0.015224307 0.4687476
## New.ReferenceOTU21 -2.466199 1.278620 0.053755925 0.5082378
## 807795 -2.382547 1.113736 0.032416364 0.4687476
## 300820 -2.310004 1.136823 0.042155456 0.4687476
MRfulltable(ffit.d10.base, group=3) #no significantly different OTUs
## +samples in group 0 +samples in group 1
## New.ReferenceOTU126 5 4
## 703741 8 4
## New.ReferenceOTU277 8 4
## New.ReferenceOTU268 6 3
## New.ReferenceOTU24 5 4
## 807795 8 2
## New.ReferenceOTU10 8 4
## 178213 7 3
## 300820 8 4
## New.ReferenceOTU209 6 4
## counts in group 0 counts in group 1 oddsRatio
## New.ReferenceOTU126 66 1326 0.000000
## 703741 4637 245 0.000000
## New.ReferenceOTU277 110 1440 0.000000
## New.ReferenceOTU268 58 454 1.000000
## New.ReferenceOTU24 11 177 0.000000
## 807795 537 20 Inf
## New.ReferenceOTU10 1712 6582 0.000000
## 178213 9 71 2.160277
## 300820 393 30 0.000000
## New.ReferenceOTU209 8 526 0.000000
## lower upper fisherP fisherAdjP logFC
## New.ReferenceOTU126 0.00000000 4.913934 0.49090909 1.0000000 3.047478
## 703741 0.00000000 Inf 1.00000000 1.0000000 -3.034467
## New.ReferenceOTU277 0.00000000 Inf 1.00000000 1.0000000 2.658932
## New.ReferenceOTU268 0.01275883 27.869693 1.00000000 1.0000000 2.912982
## New.ReferenceOTU24 0.00000000 4.913934 0.49090909 1.0000000 2.305852
## 807795 0.42098001 Inf 0.09090909 0.9818182 -2.382547
## New.ReferenceOTU10 0.00000000 Inf 1.00000000 1.0000000 3.019731
## 178213 0.02234211 208.436409 1.00000000 1.0000000 2.043177
## 300820 0.00000000 Inf 1.00000000 1.0000000 -2.310004
## New.ReferenceOTU209 0.00000000 11.086415 0.51515152 1.0000000 2.678243
## se pvalues adjPvalues
## New.ReferenceOTU126 1.1748529 0.009488771 0.4687476
## 703741 1.2177558 0.012707900 0.4687476
## New.ReferenceOTU277 1.0955637 0.015224307 0.4687476
## New.ReferenceOTU268 1.2468956 0.019481482 0.4687476
## New.ReferenceOTU24 1.0227116 0.024155611 0.4687476
## 807795 1.1137360 0.032416364 0.4687476
## New.ReferenceOTU10 1.4214948 0.033642152 0.4687476
## 178213 0.9877824 0.038597849 0.4687476
## 300820 1.1368231 0.042155456 0.4687476
## New.ReferenceOTU209 1.3364598 0.045071886 0.4687476
##Import the significant OTUs, as determined with fitZig model. This file and any coefficients were written into tab delimited files in the previous chunk. This chunk is following Rachel Lappen's 16S analysis from her github page.
##-----------fitZIG
#------heal fitZig
##For heal.base dataset
# Get the list of OTUs with coefficients and p-values from fitZIG model
heal.sig <- read.table("dss.feces/heal.fitzig.res.txt", header = T, sep = "\t")
head(heal.sig)
## X.Intercept. TrialTime.healDSS_Day10
## New.ReferenceOTU211 28.765487 8.792003
## New.ReferenceOTU236 19.969151 6.966705
## 188931 4.257246 9.384557
## New.ReferenceOTU11 15.557872 8.327194
## 127 2.826202 8.108370
## New.ReferenceOTU38 21.639915 7.170224
## TrialTime.healDSS_Day8 TrialTime.healDSS_Day9
## New.ReferenceOTU211 -0.153734 2.287705
## New.ReferenceOTU236 2.271270 -0.163147
## 188931 5.770179 6.092354
## New.ReferenceOTU11 3.257572 3.889753
## 127 3.949878 1.293489
## New.ReferenceOTU38 7.324580 1.337693
## normFactor.heal scalingFactor pvalues
## New.ReferenceOTU211 -70.092109 111.011100 9.350690e-16
## New.ReferenceOTU236 -51.958139 84.407639 1.884635e-15
## 188931 -3.871131 -2.494024 3.779711e-15
## New.ReferenceOTU11 -47.797095 85.236111 2.401557e-14
## 127 3.271502 -15.985556 1.807855e-12
## New.ReferenceOTU38 -82.161489 160.694644 9.160202e-11
## adjPvalues
## New.ReferenceOTU211 7.115875e-13
## New.ReferenceOTU236 7.171037e-13
## 188931 9.587867e-13
## New.ReferenceOTU11 4.568961e-12
## 127 2.751555e-10
## New.ReferenceOTU38 1.161819e-08
##All OTUs are significant with adjusted p-values << 0.05
# Read in the matrix of CSS normalised and logged counts
heal.norm.tbl <- read.table("dss.feces/heal.css.norm.log.txt", header = T, sep = "\t", check.names = F)
head(heal.norm.tbl)
## 132 131 8 6 85
## New.CleanUp.ReferenceOTU31068 4.855840 0.000000 0.000000 0.000000 3.819132
## New.ReferenceOTU33 5.231092 5.206649 0.000000 0.000000 3.819132
## New.ReferenceOTU122 6.253021 0.000000 2.238014 0.000000 4.369615
## 360329 5.459784 3.319334 0.000000 3.940549 2.917886
## New.CleanUp.ReferenceOTU20966 0.000000 2.804885 0.000000 0.000000 2.097169
## New.CleanUp.ReferenceOTU6149 3.797348 1.320199 0.000000 0.000000 2.097169
## 4 82 81 72 86
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 3.315454 0.000000 0.000000
## New.ReferenceOTU33 0.000000 0.000000 2.801190 6.829213 0.000000
## New.ReferenceOTU122 0.000000 2.846383 6.761055 0.000000 2.831109
## 360329 4.740674 0.000000 0.000000 4.335187 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 2.801190 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 4.241112 2.535098 0.000000
## 84 134 83 2 71
## New.CleanUp.ReferenceOTU31068 0.000000 1.891430 5.933320 0.000000 3.746566
## New.ReferenceOTU33 1.902933 3.862961 2.692535 0.000000 0.000000
## New.ReferenceOTU122 0.000000 3.190628 2.692535 0.000000 0.000000
## 360329 6.514295 0.000000 0.000000 5.726506 3.746566
## New.CleanUp.ReferenceOTU20966 3.877610 0.000000 0.000000 2.086360 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 3.565610 0.000000 0.000000 0.000000
## 1 130 5 3 7
## New.CleanUp.ReferenceOTU31068 0.000000 5.763766 0.000000 0.00000 0.000000
## New.ReferenceOTU33 5.178367 0.000000 3.674088 5.70307 0.000000
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0.00000 0.000000
## 360329 0.000000 0.000000 0.000000 0.00000 3.317392
## New.CleanUp.ReferenceOTU20966 3.531491 0.000000 2.299118 0.00000 2.455309
## New.CleanUp.ReferenceOTU6149 0.000000 2.115477 0.000000 0.00000 0.000000
##Subset this table to the significant OTUs and remove unnecessary columns
heal.sig.tbl <- merge(heal.sig, heal.norm.tbl, by=0)
head(heal.sig.tbl)
## Row.names X.Intercept. TrialTime.healDSS_Day10 TrialTime.healDSS_Day8
## 1 127 2.8262021 8.108370 3.949878363
## 2 179018 -10.8133742 6.837762 2.205375281
## 3 188931 4.2572464 9.384557 5.770179406
## 4 236734 -8.6718616 7.126641 0.009225855
## 5 2992312 -0.9784931 5.574992 2.923473742
## 6 300820 2.2349066 -3.211522 -3.607517465
## TrialTime.healDSS_Day9 normFactor.heal scalingFactor pvalues
## 1 1.293489 3.271502 -15.985556 1.807855e-12
## 2 3.384118 54.692109 -111.745667 1.231473e-08
## 3 6.092354 -3.871131 -2.494024 3.779711e-15
## 4 3.694311 62.435756 -138.015477 5.875152e-08
## 5 1.229581 25.552796 -59.290611 3.683540e-06
## 6 -2.554729 7.464810 -11.150674 3.625644e-05
## adjPvalues 132 131 8 6 85 4 82
## 1 2.751555e-10 0.0000 5.206649 2.238014 0.000000 0 0.000000 0.000000
## 2 6.247675e-07 0.0000 6.095192 2.238014 0.000000 0 2.225420 5.131578
## 3 9.587867e-13 0.0000 5.855148 0.000000 0.000000 0 0.000000 0.000000
## 4 2.483884e-06 0.0000 1.997839 2.238014 2.532239 0 3.062284 0.000000
## 5 9.343914e-05 0.0000 4.354810 0.000000 0.000000 0 3.062284 0.000000
## 6 7.074654e-04 4.3473 3.319334 8.390481 7.175332 0 7.950256 2.034207
## 81 72 86 84 134 83 2 71
## 1 0.000000 3.404948 0.000000 2.695872 0.000000 4.120472 0.000000 8.471827
## 2 0.000000 0.000000 0.000000 0.000000 0.000000 5.078391 0.000000 2.850235
## 3 0.000000 5.384305 0.000000 5.802052 0.000000 9.967226 0.000000 9.519478
## 4 1.994607 0.000000 6.275242 0.000000 9.182260 0.000000 0.000000 0.000000
## 5 0.000000 0.000000 0.000000 4.124192 0.000000 5.649050 0.000000 7.500836
## 6 1.994607 3.943780 4.274159 6.118799 5.283195 2.692535 8.403704 4.691798
## 1 130 5 3 7
## 1 0.000000 9.862637 0.000000 0.000000 0.000000
## 2 0.000000 9.826019 0.000000 0.000000 0.000000
## 3 0.000000 10.589651 0.000000 0.000000 0.000000
## 4 0.000000 0.000000 0.000000 2.217117 0.000000
## 5 0.000000 9.286173 0.000000 4.266650 0.000000
## 6 5.749987 2.115477 4.365122 6.924076 7.786145
##Renaming columns to state the time point and numbered replicate, instead of a barcode.
colnames(heal.sig.tbl) <- c("OTU", "x.intercept", "Log2FC_day10", "Log2FC_day8", "Log2FC_day9", "normfactor", "scalingfactor", "pvalues", "adjPvalues", "d10.3", "d10.2", "base.8", "base.6", "d9.3", "base.4", "d8.4", "d8.3", "d8.2", "d9.4", "d9.2", "d10.4", "d9.1", "base.2", "d8.1", "base.1", "d10.1", "base.5", "base.3", "base.7")
heal.sig.counts.tbl <- heal.sig.tbl
heal.sig.counts.tbl$x.intercept <- NULL
heal.sig.counts.tbl$Log2FC_day8 <- NULL
heal.sig.counts.tbl$Log2FC_day9 <- NULL
heal.sig.counts.tbl$Log2FC_day10 <- NULL
heal.sig.counts.tbl$normfactor <- NULL
heal.sig.counts.tbl$scalingfactor <- NULL
heal.sig.counts.tbl$pvalues <- NULL
heal.sig.counts.tbl$adjPvalues <- NULL
head(heal.sig.counts.tbl) # this table contains the CSS normalized and log transformed counts for each replicate (animal) at a given time point.
## OTU d10.3 d10.2 base.8 base.6 d9.3 base.4 d8.4
## 1 127 0.0000 5.206649 2.238014 0.000000 0 0.000000 0.000000
## 2 179018 0.0000 6.095192 2.238014 0.000000 0 2.225420 5.131578
## 3 188931 0.0000 5.855148 0.000000 0.000000 0 0.000000 0.000000
## 4 236734 0.0000 1.997839 2.238014 2.532239 0 3.062284 0.000000
## 5 2992312 0.0000 4.354810 0.000000 0.000000 0 3.062284 0.000000
## 6 300820 4.3473 3.319334 8.390481 7.175332 0 7.950256 2.034207
## d8.3 d8.2 d9.4 d9.2 d10.4 d9.1 base.2 d8.1
## 1 0.000000 3.404948 0.000000 2.695872 0.000000 4.120472 0.000000 8.471827
## 2 0.000000 0.000000 0.000000 0.000000 0.000000 5.078391 0.000000 2.850235
## 3 0.000000 5.384305 0.000000 5.802052 0.000000 9.967226 0.000000 9.519478
## 4 1.994607 0.000000 6.275242 0.000000 9.182260 0.000000 0.000000 0.000000
## 5 0.000000 0.000000 0.000000 4.124192 0.000000 5.649050 0.000000 7.500836
## 6 1.994607 3.943780 4.274159 6.118799 5.283195 2.692535 8.403704 4.691798
## base.1 d10.1 base.5 base.3 base.7
## 1 0.000000 9.862637 0.000000 0.000000 0.000000
## 2 0.000000 9.826019 0.000000 0.000000 0.000000
## 3 0.000000 10.589651 0.000000 0.000000 0.000000
## 4 0.000000 0.000000 0.000000 2.217117 0.000000
## 5 0.000000 9.286173 0.000000 4.266650 0.000000
## 6 5.749987 2.115477 4.365122 6.924076 7.786145
# Transpose the table
rownames(heal.sig.counts.tbl) <- heal.sig.counts.tbl$OTU
heal.sig.counts.tbl$OTU <- NULL
heal.sig.counts.tbl <- t(heal.sig.counts.tbl)
head(heal.sig.counts.tbl)
## 127 179018 188931 236734 2992312 300820 345448
## d10.3 0.000000 0.000000 0.000000 0.000000 0.000000 4.347300 8.828972
## d10.2 5.206649 6.095192 5.855148 1.997839 4.354810 3.319334 1.320199
## base.8 2.238014 2.238014 0.000000 2.238014 0.000000 8.390481 2.238014
## base.6 0.000000 0.000000 0.000000 2.532239 0.000000 7.175332 0.000000
## d9.3 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 6.934416
## base.4 0.000000 2.225420 0.000000 3.062284 3.062284 7.950256 0.000000
## 361811 365033 560336 571178 646411
## d10.3 1.655598 0.000000 0.000000 7.159220 0.000000
## d10.2 1.997839 4.551829 5.738638 1.320199 8.038788
## base.8 0.000000 3.076379 2.238014 3.076379 0.000000
## base.6 2.532239 4.892786 0.000000 0.000000 2.532239
## d9.3 0.000000 0.000000 0.000000 2.097169 0.000000
## base.4 6.219738 6.219738 0.000000 2.225420 4.926558
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## d10.3 0.000000 0.000000
## d10.2 4.951407 4.245197
## base.8 2.238014 0.000000
## base.6 0.000000 0.000000
## d9.3 2.097169 0.000000
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## d10.3 0 0.000000
## d10.2 0 1.320199
## base.8 0 0.000000
## base.6 0 0.000000
## d9.3 0 0.000000
## base.4 0 0.000000
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## d10.3 0.000000 0.000000
## d10.2 5.084665 1.997839
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## d9.3 0.000000 2.097169
## base.4 2.225420 0.000000
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## d10.3 0.000000 0.000000
## d10.2 4.725147 3.855297
## base.8 0.000000 2.238014
## base.6 0.000000 0.000000
## d9.3 0.000000 0.000000
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## d10.3 1.655598 0.00000
## d10.2 5.084665 3.52093
## base.8 0.000000 0.00000
## base.6 0.000000 0.00000
## d9.3 0.000000 0.00000
## base.4 0.000000 0.00000
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## d10.3 1.655598 0.000000
## d10.2 3.084920 0.000000
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## d9.3 0.000000 2.097169
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## d10.3 0.000000 0.000000 8.815263
## d10.2 5.962948 6.683646 8.960019
## base.8 0.000000 2.238014 6.609611
## base.6 0.000000 0.000000 5.868298
## d9.3 0.000000 0.000000 10.210192
## base.4 0.000000 0.000000 0.000000
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## d10.3 4.347300 1.655598 0.000000
## d10.2 7.084602 10.049009 6.619199
## base.8 0.000000 5.624310 3.076379
## base.6 0.000000 0.000000 0.000000
## d9.3 2.097169 0.000000 0.000000
## base.4 0.000000 0.000000 2.225420
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## d10.3 0.000000 0.000000 4.186207
## d10.2 7.836334 7.036058 1.320199
## base.8 0.000000 0.000000 4.291851
## base.6 0.000000 0.000000 8.688192
## d9.3 0.000000 0.000000 0.000000
## base.4 0.000000 4.527247 0.000000
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## d10.3 2.897553 0.000000 0.000000
## d10.2 7.589589 1.997839 6.574577
## base.8 2.238014 2.238014 0.000000
## base.6 2.532239 0.000000 0.000000
## d9.3 5.078391 0.000000 0.000000
## base.4 3.588494 4.276672 0.000000
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## d10.3 0.000000 0.000000 4.744508
## d10.2 7.589589 2.804885 1.320199
## base.8 0.000000 0.000000 0.000000
## base.6 0.000000 0.000000 8.861443
## d9.3 0.000000 0.000000 3.437769
## base.4 3.973233 2.225420 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## d10.3 0.000000 0.000000 4.492198
## d10.2 9.609068 9.460646 5.778530
## base.8 0.000000 2.238014 0.000000
## base.6 0.000000 0.000000 0.000000
## d9.3 0.000000 0.000000 4.767099
## base.4 0.000000 4.527247 0.000000
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## d10.3 9.687648 5.055632 0.000000
## d10.2 2.457074 0.000000 8.870568
## base.8 6.495365 2.238014 2.238014
## base.6 3.401819 0.000000 0.000000
## d9.3 10.358075 2.097169 4.369615
## base.4 4.276672 0.000000 2.225420
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## d10.3 0.000000 0.000000 0.000000
## d10.2 9.817300 5.655386 4.879858
## base.8 0.000000 0.000000 3.076379
## base.6 3.401819 0.000000 0.000000
## d9.3 0.000000 0.000000 0.000000
## base.4 2.225420 0.000000 0.000000
## New.ReferenceOTU62 New.ReferenceOTU72
## d10.3 5.055632 0.000000
## d10.2 4.456680 5.372226
## base.8 2.238014 2.238014
## base.6 0.000000 0.000000
## d9.3 2.097169 0.000000
## base.4 0.000000 2.225420
#Split into tables for each time point
heal.base.sig <- subset(heal.sig.counts.tbl, grepl("^base", rownames(heal.sig.counts.tbl)))
d8.sig <- subset(heal.sig.counts.tbl, grepl("^d8", rownames(heal.sig.counts.tbl)))
d9.sig <- subset(heal.sig.counts.tbl, grepl("^d9", rownames(heal.sig.counts.tbl)))
d10.sig <- subset(heal.sig.counts.tbl, grepl("^d10", rownames(heal.sig.counts.tbl)))
##view each to make sure you relabeled your columns correctly; if you see an extra replicate you didn't label (usually has .1 tacked onto the end), or if you're missing a replicate you know you should have, double check your labeling!
heal.base.sig
## 127 179018 188931 236734 2992312 300820 345448
## base.8 2.238014 2.238014 0 2.238014 0.000000 8.390481 2.238014
## base.6 0.000000 0.000000 0 2.532239 0.000000 7.175332 0.000000
## base.4 0.000000 2.225420 0 3.062284 3.062284 7.950256 0.000000
## base.2 0.000000 0.000000 0 0.000000 0.000000 8.403704 0.000000
## base.1 0.000000 0.000000 0 0.000000 0.000000 5.749987 0.000000
## base.5 0.000000 0.000000 0 0.000000 0.000000 4.365122 0.000000
## base.3 0.000000 0.000000 0 2.217117 4.266650 6.924076 0.000000
## base.7 0.000000 0.000000 0 0.000000 0.000000 7.786145 0.000000
## 361811 365033 560336 571178 646411
## base.8 0.000000 3.076379 2.238014 3.076379 0.000000
## base.6 2.532239 4.892786 0.000000 0.000000 2.532239
## base.4 6.219738 6.219738 0.000000 2.225420 4.926558
## base.2 7.232187 6.302357 0.000000 0.000000 3.424957
## base.1 0.000000 2.176682 0.000000 0.000000 0.000000
## base.5 0.000000 4.060590 0.000000 0.000000 0.000000
## base.3 8.347920 5.362680 0.000000 2.217117 3.052984
## base.7 0.000000 0.000000 4.243153 0.000000 2.455309
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## base.8 2.238014 0.000000
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 2.176682 0.000000
## base.5 0.000000 0.000000
## base.3 2.217117 2.217117
## base.7 3.317392 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 0.000000 0.000000
## base.5 0.000000 2.299118
## base.3 5.228678 0.000000
## base.7 0.000000 0.000000
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## base.8 0.000000 0
## base.6 0.000000 0
## base.4 2.225420 0
## base.2 2.086360 0
## base.1 0.000000 0
## base.5 0.000000 0
## base.3 4.730501 0
## base.7 0.000000 0
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## base.8 0 2.238014
## base.6 0 0.000000
## base.4 0 0.000000
## base.2 0 2.086360
## base.1 0 2.176682
## base.5 0 0.000000
## base.3 0 7.199529
## base.7 0 0.000000
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 2.176682 0.000000
## base.5 0.000000 2.299118
## base.3 3.052984 0.000000
## base.7 0.000000 2.455309
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## base.8 0 0.000000
## base.6 0 0.000000
## base.4 0 0.000000
## base.2 0 0.000000
## base.1 0 0.000000
## base.5 0 0.000000
## base.3 0 0.000000
## base.7 0 2.455309
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## base.8 0 2.238014 6.609611
## base.6 0 0.000000 5.868298
## base.4 0 0.000000 0.000000
## base.2 0 2.086360 6.241751
## base.1 0 0.000000 0.000000
## base.5 0 0.000000 0.000000
## base.3 0 2.217117 2.217117
## base.7 0 0.000000 4.243153
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## base.8 0.000000 5.62431 3.076379
## base.6 0.000000 0.00000 0.000000
## base.4 0.000000 0.00000 2.225420
## base.2 0.000000 0.00000 2.086360
## base.1 0.000000 0.00000 0.000000
## base.5 0.000000 0.00000 0.000000
## base.3 0.000000 0.00000 5.800758
## base.7 2.455309 0.00000 3.317392
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## base.8 0.000000 0.000000 4.291851
## base.6 0.000000 0.000000 8.688192
## base.4 0.000000 4.527247 0.000000
## base.2 0.000000 0.000000 3.424957
## base.1 2.176682 0.000000 0.000000
## base.5 0.000000 4.365122 0.000000
## base.3 0.000000 3.963339 0.000000
## base.7 0.000000 0.000000 4.802495
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## base.8 2.238014 2.238014 0.000000
## base.6 2.532239 0.000000 0.000000
## base.4 3.588494 4.276672 0.000000
## base.2 2.086360 3.424957 0.000000
## base.1 0.000000 0.000000 0.000000
## base.5 2.299118 0.000000 0.000000
## base.3 2.217117 4.517138 0.000000
## base.7 0.000000 0.000000 2.455309
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## base.8 0.000000 0.000000 0.000000
## base.6 0.000000 0.000000 8.861443
## base.4 3.973233 2.225420 0.000000
## base.2 0.000000 3.806016 2.086360
## base.1 0.000000 0.000000 2.176682
## base.5 3.144558 2.299118 0.000000
## base.3 5.800758 4.730501 2.217117
## base.7 0.000000 2.455309 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## base.8 0 2.238014 0.000000
## base.6 0 0.000000 0.000000
## base.4 0 4.527247 0.000000
## base.2 0 5.812365 7.971544
## base.1 0 0.000000 5.312244
## base.5 0 0.000000 7.266235
## base.3 0 6.787760 5.228678
## base.7 0 2.455309 2.455309
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## base.8 6.495365 2.238014 2.238014
## base.6 3.401819 0.000000 0.000000
## base.4 4.276672 0.000000 2.225420
## base.2 4.107166 0.000000 4.356180
## base.1 5.927402 3.007600 6.227735
## base.5 0.000000 7.593629 2.299118
## base.3 3.052984 5.703070 0.000000
## base.7 3.317392 0.000000 0.000000
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## base.8 0.000000 0.000000 3.076379
## base.6 3.401819 0.000000 0.000000
## base.4 2.225420 0.000000 0.000000
## base.2 0.000000 0.000000 0.000000
## base.1 0.000000 0.000000 0.000000
## base.5 4.060590 0.000000 0.000000
## base.3 5.978282 0.000000 0.000000
## base.7 0.000000 2.455309 0.000000
## New.ReferenceOTU62 New.ReferenceOTU72
## base.8 2.238014 2.238014
## base.6 0.000000 0.000000
## base.4 0.000000 2.225420
## base.2 3.424957 0.000000
## base.1 3.007600 0.000000
## base.5 2.299118 0.000000
## base.3 0.000000 0.000000
## base.7 0.000000 0.000000
d8.sig
## 127 179018 188931 236734 2992312 300820 345448
## d8.4 0.000000 5.131578 0.000000 0.000000 0.000000 2.034207 0.000000
## d8.3 0.000000 0.000000 0.000000 1.994607 0.000000 1.994607 8.058921
## d8.2 3.404948 0.000000 5.384305 0.000000 0.000000 3.943780 0.000000
## d8.1 8.471827 2.850235 9.519478 0.000000 7.500836 4.691798 4.691798
## 361811 365033 560336 571178 646411
## d8.4 3.362880 0.00000 0.000000 0.000000 0.000000
## d8.3 0.000000 0.00000 0.000000 4.241112 0.000000
## d8.2 0.000000 1.76472 2.535098 1.764720 5.871695
## d8.1 3.746566 11.03216 6.968363 0.000000 10.560635
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## d8.4 0.000000 2.034207
## d8.3 0.000000 0.000000
## d8.2 2.535098 3.404948
## d8.1 2.850235 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## d8.4 0.000000 2.034207
## d8.3 0.000000 0.000000
## d8.2 1.764720 1.764720
## d8.1 4.691798 2.850235
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## d8.4 0.000000 0.000000
## d8.3 1.994607 0.000000
## d8.2 5.298999 7.248678
## d8.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## d8.4 0 0.000000
## d8.3 0 0.000000
## d8.2 0 3.034611
## d8.1 0 4.295248
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## d8.4 0.000000 0
## d8.3 0.000000 0
## d8.2 0.000000 0
## d8.1 2.850235 0
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## d8.4 0.000000 0.000000
## d8.3 0.000000 0.000000
## d8.2 3.034611 3.034611
## d8.1 7.596537 0.000000
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## d8.4 2.034207 0.000000 11.345194
## d8.3 0.000000 1.994607 7.444057
## d8.2 2.535098 5.007871 8.255295
## d8.1 0.000000 10.518494 0.000000
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## d8.4 2.846383 0.000000 0.000000
## d8.3 0.000000 0.000000 0.000000
## d8.2 1.764720 5.748402 3.404948
## d8.1 0.000000 0.000000 3.746566
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## d8.4 0.000000 0.000000 0.000000
## d8.3 0.000000 0.000000 3.315454
## d8.2 6.829213 3.034611 0.000000
## d8.1 0.000000 0.000000 0.000000
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## d8.4 3.742427 0.00000 0.000000
## d8.3 1.994607 0.00000 0.000000
## d8.2 6.235354 0.00000 0.000000
## d8.1 2.850235 11.73858 6.115262
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## d8.4 0.000000 0.00000 5.366241
## d8.3 1.994607 0.00000 4.947233
## d8.2 3.404948 0.00000 0.000000
## d8.1 4.295248 11.79009 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## d8.4 0.000000 0.000000 2.034207
## d8.3 0.000000 0.000000 2.801190
## d8.2 4.497148 7.776271 9.252932
## d8.1 7.168493 7.850585 0.000000
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## d8.4 11.375771 0.000000 6.044732
## d8.3 3.993255 3.693799 1.994607
## d8.2 8.173776 5.929603 9.269844
## d8.1 0.000000 0.000000 0.000000
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## d8.4 0.00000 2.034207 2.846383
## d8.3 0.00000 0.000000 1.994607
## d8.2 8.60544 2.535098 8.209278
## d8.1 0.00000 7.398332 5.475028
## New.ReferenceOTU62 New.ReferenceOTU72
## d8.4 0.000000 4.291003
## d8.3 0.000000 2.801190
## d8.2 3.034611 1.764720
## d8.1 0.000000 0.000000
d9.sig
## 127 179018 188931 236734 2992312 300820 345448
## d9.3 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 6.934416
## d9.4 0.000000 0.000000 0.000000 6.275242 0.000000 4.274159 0.000000
## d9.2 2.695872 0.000000 5.802052 0.000000 4.124192 6.118799 0.000000
## d9.1 4.120472 5.078391 9.967226 0.000000 5.649050 2.692535 4.514622
## 361811 365033 560336 571178 646411
## d9.3 0.000000 0.000000 0.000000 2.097169 0.000000
## d9.4 0.000000 2.020806 2.020806 0.000000 0.000000
## d9.2 2.695872 3.204638 5.395607 3.204638 7.631252
## d9.1 0.000000 5.798175 0.000000 0.000000 10.245689
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## d9.3 2.097169 0.000000
## d9.4 0.000000 0.000000
## d9.2 0.000000 1.902933
## d9.1 9.394744 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## d9.3 0 0
## d9.4 0 0
## d9.2 0 0
## d9.1 0 0
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## d9.3 0.000000 2.097169
## d9.4 0.000000 0.000000
## d9.2 1.902933 4.124192
## d9.1 6.170691 0.000000
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## d9.3 0.000000 0
## d9.4 0.000000 0
## d9.2 3.204638 0
## d9.1 5.078391 0
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## d9.3 0 0.000000
## d9.4 0 0.000000
## d9.2 0 1.902933
## d9.1 0 0.000000
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## d9.3 0.00000 2.097169
## d9.4 0.00000 0.000000
## d9.2 0.00000 0.000000
## d9.1 5.64905 0.000000
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## d9.3 0.000000 0.000000 10.210192
## d9.4 0.000000 0.000000 9.033246
## d9.2 1.902933 4.124192 6.000309
## d9.1 0.000000 10.381903 5.078391
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## d9.3 2.097169 0.000000 0.000000
## d9.4 0.000000 0.000000 2.020806
## d9.2 3.877610 0.000000 4.124192
## d9.1 0.000000 7.365749 9.310340
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## d9.3 0.000000 0.000000 0.000000
## d9.4 0.000000 0.000000 5.453302
## d9.2 5.729411 2.695872 0.000000
## d9.1 5.482714 8.976513 0.000000
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## d9.3 5.078391 0.00000 0.000000
## d9.4 3.346859 0.00000 0.000000
## d9.2 1.902933 0.00000 0.000000
## d9.1 7.778598 13.17561 2.692535
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## d9.3 0.00000 0 3.437769
## d9.4 0.00000 0 5.550641
## d9.2 0.00000 0 1.902933
## d9.1 10.98607 0 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## d9.3 0.000000 0.000000 4.767099
## d9.4 0.000000 2.831109 0.000000
## d9.2 4.334717 7.764463 6.638510
## d9.1 6.056882 8.070172 6.785153
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## d9.3 10.358075 2.097169 4.369615
## d9.4 9.382984 2.020806 3.346859
## d9.2 6.556900 3.580013 7.136745
## d9.1 4.514622 5.482714 6.854919
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## d9.3 0.000000 0.000000 0.000000
## d9.4 0.000000 0.000000 0.000000
## d9.2 1.902933 2.695872 7.296131
## d9.1 9.334963 9.139146 8.127677
## New.ReferenceOTU62 New.ReferenceOTU72
## d9.3 2.097169 0
## d9.4 5.114331 0
## d9.2 0.000000 0
## d9.1 2.692535 0
d10.sig
## 127 179018 188931 236734 2992312 300820 345448
## d10.3 0.000000 0.000000 0.000000 0.000000 0.000000 4.347300 8.828972
## d10.2 5.206649 6.095192 5.855148 1.997839 4.354810 3.319334 1.320199
## d10.4 0.000000 0.000000 0.000000 9.182260 0.000000 5.283195 0.000000
## d10.1 9.862637 9.826019 10.589651 0.000000 9.286173 2.115477 0.000000
## 361811 365033 560336 571178 646411
## d10.3 1.655598 0.000000 0.000000 7.159220 0.000000
## d10.2 1.997839 4.551829 5.738638 1.320199 8.038788
## d10.4 0.000000 0.000000 0.000000 0.000000 0.000000
## d10.1 2.115477 9.015880 9.361213 0.000000 9.453271
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## d10.3 0.000000 0.000000
## d10.2 4.951407 4.245197
## d10.4 0.000000 0.000000
## d10.1 8.413628 8.522255
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## d10.3 0.00000 0.000000
## d10.2 0.00000 1.320199
## d10.4 0.00000 0.000000
## d10.1 10.56447 6.958069
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## d10.3 0.000000 0.000000
## d10.2 5.084665 1.997839
## d10.4 0.000000 0.000000
## d10.1 8.495855 8.706208
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## d10.3 0.000000 0.000000
## d10.2 4.725147 3.855297
## d10.4 0.000000 0.000000
## d10.1 8.046215 10.126274
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## d10.3 1.655598 0.000000
## d10.2 5.084665 3.520930
## d10.4 0.000000 0.000000
## d10.1 8.151439 8.427662
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## d10.3 1.655598 0.000000
## d10.2 3.084920 0.000000
## d10.4 0.000000 0.000000
## d10.1 8.064294 9.493855
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## d10.3 0.000000 0.000000 8.815263
## d10.2 5.962948 6.683646 8.960019
## d10.4 0.000000 0.000000 10.422353
## d10.1 7.765977 10.677426 9.862637
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## d10.3 4.347300 1.655598 0.000000
## d10.2 7.084602 10.049009 6.619199
## d10.4 0.000000 0.000000 0.000000
## d10.1 9.590587 9.760997 9.473706
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## d10.3 0.000000 0.000000 4.186207
## d10.2 7.836334 7.036058 1.320199
## d10.4 0.000000 0.000000 9.018521
## d10.1 7.389452 8.482472 0.000000
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## d10.3 2.897553 0.000000 0.000000
## d10.2 7.589589 1.997839 6.574577
## d10.4 4.319776 0.000000 0.000000
## d10.1 10.337993 11.671099 7.033423
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## d10.3 0.000000 0.000000 4.744508
## d10.2 7.589589 2.804885 1.320199
## d10.4 1.891430 1.891430 9.810602
## d10.1 11.731743 13.376894 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## d10.3 0.000000 0.000000 4.492198
## d10.2 9.609068 9.460646 5.778530
## d10.4 0.000000 0.000000 3.190628
## d10.1 8.573647 9.841826 2.938599
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## d10.3 9.687648 5.055632 0.000000
## d10.2 2.457074 0.000000 8.870568
## d10.4 9.757388 6.622945 6.045282
## d10.1 7.526173 9.015880 9.645658
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## d10.3 0.000000 0.000000 0.000000
## d10.2 9.817300 5.655386 4.879858
## d10.4 0.000000 0.000000 6.700177
## d10.1 9.710232 8.455327 9.888236
## New.ReferenceOTU62 New.ReferenceOTU72
## d10.3 5.055632 0.000000
## d10.2 4.456680 5.372226
## d10.4 8.900760 2.682585
## d10.1 0.000000 10.990340
##Calculating relative abundance data at an OTU level
#Read in the raw OTU table containing all samples (doesn't contain taxonomy)
otu.full.table <- read.table("dss.feces/str.otus.txt", sep = "\t", header = T, check.names = F)
colnames(otu.full.table)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "16" "35" "10"
## [34] "13" "57" "398" "197" "27" "37" "83" "2" "33" "71" "68"
## [45] "65" "1" "130" "206" "243" "135" "36" "5" "67" "3" "41"
## [56] "7" "45" "60" "51" "49" "235" "218" "23" "46" "25" "247"
## [67] "248" "128" "43" "39" "129" "53" "388" "50" "61" "56" "12"
## [78] "58" "22" "30" "11" "9" "18" "42" "59" "40" "52" "34"
## [89] "47" "62" "17" "15" "14"
##Renaming Sample labels from barcode number to time point and replicate number identifier for easier delineation later.
colnames(otu.full.table) <- c("d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "base2.8", "d3.2", "base2.2", "base2.5", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "base2.4", "d6.1", "d1.6", "d2.4", "base2.3", "base2.1", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1", "base2.7", "base2.6")
colnames(otu.full.table)
## [1] "d7.7" "d10.3" "d10.2" "d5.6" "d5.5"
## [6] "d7.3" "d1.5" "d6.8" "ff.d10.6" "ff.base.4"
## [11] "d4.7" "d1.8" "base.8" "base.6" "d9.3"
## [16] "d2.3" "d4.3" "base.4" "d8.4" "d8.3"
## [21] "d8.2" "d2.5" "d9.4" "d1.4" "d1.3"
## [26] "d6.6" "d7.4" "d9.2" "d3.5" "d10.4"
## [31] "base2.8" "d3.2" "base2.2" "base2.5" "d5.8"
## [36] "ff.base.5" "ff.base.1" "d2.2" "d3.4" "d9.1"
## [41] "base.2" "d2.6" "d8.1" "d7.2" "d6.7"
## [46] "base.1" "d10.1" "ff.base.2" "ff.d10.2" "d7.8"
## [51] "d3.3" "base.5" "d7.1" "base.3" "d3.8"
## [56] "base.7" "d4.4" "d6.3" "d5.2" "d4.8"
## [61] "ff.d10.1" "ff.base.3" "d1.7" "d4.5" "d2.1"
## [66] "ff.d10.3" "ff.d10.4" "d7.5" "d4.2" "d3.6"
## [71] "d7.6" "d5.4" "ff.d10.5" "d5.1" "d6.4"
## [76] "d5.7" "base2.4" "d6.1" "d1.6" "d2.4"
## [81] "base2.3" "base2.1" "d1.2" "d4.1" "d6.2"
## [86] "d3.7" "d5.3" "d3.1" "d4.6" "d6.5"
## [91] "d1.1" "base2.7" "base2.6"
##Subset OTU table to samples in the model
otu.abund.heal <- otu.full.table[,which(colnames(otu.full.table) %in% rownames(heal.sig.counts.tbl))]
head(heal.sig.counts.tbl)
## 127 179018 188931 236734 2992312 300820 345448
## d10.3 0.000000 0.000000 0.000000 0.000000 0.000000 4.347300 8.828972
## d10.2 5.206649 6.095192 5.855148 1.997839 4.354810 3.319334 1.320199
## base.8 2.238014 2.238014 0.000000 2.238014 0.000000 8.390481 2.238014
## base.6 0.000000 0.000000 0.000000 2.532239 0.000000 7.175332 0.000000
## d9.3 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 6.934416
## base.4 0.000000 2.225420 0.000000 3.062284 3.062284 7.950256 0.000000
## 361811 365033 560336 571178 646411
## d10.3 1.655598 0.000000 0.000000 7.159220 0.000000
## d10.2 1.997839 4.551829 5.738638 1.320199 8.038788
## base.8 0.000000 3.076379 2.238014 3.076379 0.000000
## base.6 2.532239 4.892786 0.000000 0.000000 2.532239
## d9.3 0.000000 0.000000 0.000000 2.097169 0.000000
## base.4 6.219738 6.219738 0.000000 2.225420 4.926558
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU14055
## d10.3 0.000000 0.000000
## d10.2 4.951407 4.245197
## base.8 2.238014 0.000000
## base.6 0.000000 0.000000
## d9.3 2.097169 0.000000
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU16719
## d10.3 0 0.000000
## d10.2 0 1.320199
## base.8 0 0.000000
## base.6 0 0.000000
## d9.3 0 0.000000
## base.4 0 0.000000
## New.CleanUp.ReferenceOTU1993 New.CleanUp.ReferenceOTU20893
## d10.3 0.000000 0.000000
## d10.2 5.084665 1.997839
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## d9.3 0.000000 2.097169
## base.4 2.225420 0.000000
## New.CleanUp.ReferenceOTU29218 New.CleanUp.ReferenceOTU30376
## d10.3 0.000000 0.000000
## d10.2 4.725147 3.855297
## base.8 0.000000 2.238014
## base.6 0.000000 0.000000
## d9.3 0.000000 0.000000
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU33159 New.CleanUp.ReferenceOTU4077
## d10.3 1.655598 0.00000
## d10.2 5.084665 3.52093
## base.8 0.000000 0.00000
## base.6 0.000000 0.00000
## d9.3 0.000000 0.00000
## base.4 0.000000 0.00000
## New.CleanUp.ReferenceOTU5148 New.CleanUp.ReferenceOTU8184
## d10.3 1.655598 0.000000
## d10.2 3.084920 0.000000
## base.8 0.000000 0.000000
## base.6 0.000000 0.000000
## d9.3 0.000000 2.097169
## base.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU8703 New.ReferenceOTU11 New.ReferenceOTU126
## d10.3 0.000000 0.000000 8.815263
## d10.2 5.962948 6.683646 8.960019
## base.8 0.000000 2.238014 6.609611
## base.6 0.000000 0.000000 5.868298
## d9.3 0.000000 0.000000 10.210192
## base.4 0.000000 0.000000 0.000000
## New.ReferenceOTU142 New.ReferenceOTU156 New.ReferenceOTU164
## d10.3 4.347300 1.655598 0.000000
## d10.2 7.084602 10.049009 6.619199
## base.8 0.000000 5.624310 3.076379
## base.6 0.000000 0.000000 0.000000
## d9.3 2.097169 0.000000 0.000000
## base.4 0.000000 0.000000 2.225420
## New.ReferenceOTU179 New.ReferenceOTU187 New.ReferenceOTU193
## d10.3 0.000000 0.000000 4.186207
## d10.2 7.836334 7.036058 1.320199
## base.8 0.000000 0.000000 4.291851
## base.6 0.000000 0.000000 8.688192
## d9.3 0.000000 0.000000 0.000000
## base.4 0.000000 4.527247 0.000000
## New.ReferenceOTU209 New.ReferenceOTU211 New.ReferenceOTU213
## d10.3 2.897553 0.000000 0.000000
## d10.2 7.589589 1.997839 6.574577
## base.8 2.238014 2.238014 0.000000
## base.6 2.532239 0.000000 0.000000
## d9.3 5.078391 0.000000 0.000000
## base.4 3.588494 4.276672 0.000000
## New.ReferenceOTU232 New.ReferenceOTU236 New.ReferenceOTU247
## d10.3 0.000000 0.000000 4.744508
## d10.2 7.589589 2.804885 1.320199
## base.8 0.000000 0.000000 0.000000
## base.6 0.000000 0.000000 8.861443
## d9.3 0.000000 0.000000 3.437769
## base.4 3.973233 2.225420 0.000000
## New.ReferenceOTU252 New.ReferenceOTU26 New.ReferenceOTU28
## d10.3 0.000000 0.000000 4.492198
## d10.2 9.609068 9.460646 5.778530
## base.8 0.000000 2.238014 0.000000
## base.6 0.000000 0.000000 0.000000
## d9.3 0.000000 0.000000 4.767099
## base.4 0.000000 4.527247 0.000000
## New.ReferenceOTU281 New.ReferenceOTU282 New.ReferenceOTU284
## d10.3 9.687648 5.055632 0.000000
## d10.2 2.457074 0.000000 8.870568
## base.8 6.495365 2.238014 2.238014
## base.6 3.401819 0.000000 0.000000
## d9.3 10.358075 2.097169 4.369615
## base.4 4.276672 0.000000 2.225420
## New.ReferenceOTU38 New.ReferenceOTU47 New.ReferenceOTU58
## d10.3 0.000000 0.000000 0.000000
## d10.2 9.817300 5.655386 4.879858
## base.8 0.000000 0.000000 3.076379
## base.6 3.401819 0.000000 0.000000
## d9.3 0.000000 0.000000 0.000000
## base.4 2.225420 0.000000 0.000000
## New.ReferenceOTU62 New.ReferenceOTU72
## d10.3 5.055632 0.000000
## d10.2 4.456680 5.372226
## base.8 2.238014 2.238014
## base.6 0.000000 0.000000
## d9.3 2.097169 0.000000
## base.4 0.000000 2.225420
# Convert OTU table to relative abundance table by taking proportions of total
heal.relabund.tbl <- sweep(otu.abund.heal,2,colSums(otu.abund.heal),`/`) * 100
head(heal.relabund.tbl)
## d10.3 d10.2 base.8 base.6
## New.CleanUp.ReferenceOTU10212 0.0000000 0.00000000 0.12559945 0.00000000
## New.CleanUp.ReferenceOTU31068 0.1021611 0.00000000 0.00000000 0.00000000
## New.ReferenceOTU33 0.1335953 0.09179927 0.00000000 0.00000000
## New.ReferenceOTU122 0.2750491 0.00000000 0.01141813 0.00000000
## 360329 0.1571709 0.02294982 0.00000000 0.04511957
## New.CleanUp.ReferenceOTU20966 0.0000000 0.01529988 0.00000000 0.00000000
## d9.3 base.4 d8.4 d8.3
## New.CleanUp.ReferenceOTU10212 0.00000000 0.0000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.06708033 0.0000000 0.00000000 0.04424779
## New.ReferenceOTU33 0.06708033 0.0000000 0.00000000 0.02949853
## New.ReferenceOTU122 0.10062049 0.0000000 0.02316423 0.53097345
## 360329 0.03354016 0.1146038 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.01677008 0.0000000 0.00000000 0.02949853
## d8.2 d9.4 d9.2 d10.4
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.017990465
## New.CleanUp.ReferenceOTU31068 0.00000000 0.00000000 0.00000000 0.008995233
## New.ReferenceOTU33 0.48553719 0.00000000 0.01703578 0.044976163
## New.ReferenceOTU122 0.00000000 0.02799944 0.00000000 0.026985698
## 360329 0.08264463 0.00000000 0.56218058 0.000000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.08517888 0.000000000
## d9.1 base.2 d8.1 base.1
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU31068 0.15301155 0.00000000 0.03090712 0.0000000
## New.ReferenceOTU33 0.01391014 0.00000000 0.00000000 0.1637733
## New.ReferenceOTU122 0.01391014 0.00000000 0.00000000 0.0000000
## 360329 0.00000000 0.25579536 0.03090712 0.0000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.01598721 0.00000000 0.0491320
## d10.1 base.5 base.3 base.7
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.0000000 0.03336670
## New.CleanUp.ReferenceOTU31068 0.07620499 0.00000000 0.0000000 0.00000000
## New.ReferenceOTU33 0.00000000 0.08246289 0.2385415 0.00000000
## New.ReferenceOTU122 0.00000000 0.00000000 0.0000000 0.00000000
## 360329 0.00000000 0.00000000 0.0000000 0.03336670
## New.CleanUp.ReferenceOTU20966 0.00000000 0.02748763 0.0000000 0.01668335
head(rownames(heal.relabund.tbl))
## [1] "New.CleanUp.ReferenceOTU10212" "New.CleanUp.ReferenceOTU31068"
## [3] "New.ReferenceOTU33" "New.ReferenceOTU122"
## [5] "360329" "New.CleanUp.ReferenceOTU20966"
#Subset the abundance table to the significantly differentially abundant OTUs and tranpose it
heal.relabund.tbl <- heal.relabund.tbl[which(rownames(heal.relabund.tbl) %in% rownames(heal.sig)),]
heal.relabund.tbl <- t(heal.relabund.tbl)
head(heal.relabund.tbl) # taxa are columns
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d10.3 0.00000000 0.00000000 0
## d10.2 0.24862301 0.05737454 0
## base.8 0.02283626 0.02283626 0
## base.6 0.00000000 0.09023913 0
## d9.3 0.00000000 0.00000000 0
## base.4 0.01637197 0.32743942 0
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d10.3 0.00000000 0.00000000 0.00000000
## d10.2 0.06502448 0.09179927 1.79773562
## base.8 0.00000000 0.01141813 0.01141813
## base.6 0.00000000 0.00000000 0.00000000
## d9.3 0.00000000 0.00000000 0.00000000
## base.4 0.00000000 0.00000000 0.09823183
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72
## d10.3 0.00000000 0.000000 0.00000000
## d10.2 0.07267442 1.992809 0.10327417
## base.8 0.02283626 0.000000 0.01141813
## base.6 0.00000000 0.000000 0.00000000
## d9.3 0.00000000 0.000000 0.00000000
## base.4 0.00000000 0.000000 0.01637197
## 560336 New.ReferenceOTU247 New.ReferenceOTU28
## d10.3 0.00000000 0.094302554 0.07858546
## d10.2 0.13387393 0.003824969 0.13769890
## base.8 0.01141813 0.000000000 0.00000000
## base.6 0.00000000 1.458865995 0.00000000
## d9.3 0.00000000 0.050310247 0.13416066
## base.4 0.00000000 0.000000000 0.00000000
## New.CleanUp.ReferenceOTU5148 New.ReferenceOTU193 New.ReferenceOTU62
## d10.3 0.007858546 0.062868369 0.11787819
## d10.2 0.019124847 0.003824969 0.05354957
## base.8 0.000000000 0.057090660 0.01141813
## base.6 0.000000000 1.293427583 0.00000000
## d9.3 0.000000000 0.000000000 0.01677008
## base.4 0.000000000 0.000000000 0.00000000
## New.ReferenceOTU156 New.CleanUp.ReferenceOTU8184 236734
## d10.3 0.007858546 0.00000000 0.000000000
## d10.2 2.704253366 0.00000000 0.007649939
## base.8 0.148435716 0.00000000 0.011418132
## base.6 0.000000000 0.00000000 0.015039856
## d9.3 0.000000000 0.01677008 0.000000000
## base.4 0.000000000 0.00000000 0.032743942
## 345448 New.ReferenceOTU187 New.CleanUp.ReferenceOTU13188
## d10.3 1.658153242 0.00000000 0.00000000
## d10.2 0.003824969 0.33277234 0.07649939
## base.8 0.011418132 0.00000000 0.01141813
## base.6 0.000000000 0.00000000 0.00000000
## d9.3 0.620493040 0.00000000 0.01677008
## base.4 0.000000000 0.09823183 0.00000000
## New.CleanUp.ReferenceOTU4077 New.ReferenceOTU142
## d10.3 0.00000000 0.07072692
## d10.2 0.02677479 0.34424725
## base.8 0.00000000 0.00000000
## base.6 0.00000000 0.00000000
## d9.3 0.00000000 0.01677008
## base.4 0.00000000 0.00000000
## New.ReferenceOTU281 New.ReferenceOTU126 646411 179018
## d10.3 3.00982318 1.6424361 0.00000000 0.00000000
## d10.2 0.01147491 1.2698898 0.66936965 0.17212362
## base.8 0.27403517 0.2968714 0.00000000 0.01141813
## base.6 0.03007971 0.1804783 0.01503986 0.00000000
## d9.3 6.70803287 6.0539997 0.00000000 0.00000000
## base.4 0.08185986 0.0000000 0.13097577 0.01637197
## New.CleanUp.ReferenceOTU14055 300820
## d10.3 0.00000000 0.07072692
## d10.2 0.04589963 0.02294982
## base.8 0.00000000 1.02763188
## base.6 0.00000000 0.45119567
## d9.3 0.00000000 0.00000000
## base.4 0.00000000 1.09692207
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284
## d10.3 0.000000000 0.00000000
## d10.2 0.003824969 1.19339045
## base.8 0.000000000 0.01141813
## base.6 0.000000000 0.00000000
## d9.3 0.000000000 0.10062049
## base.4 0.000000000 0.01637197
## New.ReferenceOTU213 188931 New.ReferenceOTU179
## d10.3 0.0000000 0.0000000 0.0000000
## d10.2 0.2409731 0.1453488 0.5813953
## base.8 0.0000000 0.0000000 0.0000000
## base.6 0.0000000 0.0000000 0.0000000
## d9.3 0.0000000 0.0000000 0.0000000
## base.4 0.0000000 0.0000000 0.0000000
## New.ReferenceOTU209 New.ReferenceOTU38 361811
## d10.3 0.02357564 0.00000000 0.007858546
## d10.2 0.48959608 2.30263158 0.007649939
## base.8 0.01141813 0.00000000 0.000000000
## base.6 0.01503986 0.03007971 0.015039856
## d9.3 0.16770082 0.00000000 0.000000000
## base.4 0.04911591 0.01637197 0.327439424
## New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d10.3 0.000000000 0.00000000
## d10.2 0.007649939 0.08414933
## base.8 0.000000000 0.00000000
## base.6 0.000000000 0.00000000
## d9.3 0.016770082 0.00000000
## base.4 0.000000000 0.01637197
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d10.3 0.11787819 0.0000000
## d10.2 0.00000000 0.1568237
## base.8 0.01141813 0.0000000
## base.6 0.00000000 0.0000000
## d9.3 0.01677008 0.0000000
## base.4 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU33159 571178 2992312
## d10.3 0.007858546 0.518664047 0.00000000
## d10.2 0.084149327 0.003824969 0.04972460
## base.8 0.000000000 0.022836264 0.00000000
## base.6 0.000000000 0.000000000 0.00000000
## d9.3 0.000000000 0.016770082 0.00000000
## base.4 0.000000000 0.016371971 0.03274394
## New.ReferenceOTU232 New.CleanUp.ReferenceOTU30376
## d10.3 0.00000000 0.00000000
## d10.2 0.48959608 0.03442472
## base.8 0.00000000 0.01141813
## base.6 0.00000000 0.00000000
## d9.3 0.00000000 0.00000000
## base.4 0.06548788 0.00000000
## New.ReferenceOTU211 New.ReferenceOTU236 New.ReferenceOTU47
## d10.3 0.000000000 0.00000000 0.000000
## d10.2 0.007649939 0.01529988 0.126224
## base.8 0.011418132 0.00000000 0.000000
## base.6 0.000000000 0.00000000 0.000000
## d9.3 0.000000000 0.00000000 0.000000
## base.4 0.081859856 0.01637197 0.000000
## New.ReferenceOTU11
## d10.3 0.00000000
## d10.2 0.26009792
## base.8 0.01141813
## base.6 0.00000000
## d9.3 0.00000000
## base.4 0.00000000
# Split the abundance table into different groups
heal.base.abund <- subset(heal.relabund.tbl,grepl("^base", rownames(heal.relabund.tbl)))
d8.abund <- subset(heal.relabund.tbl,grepl("^d8", rownames(heal.relabund.tbl)))
d9.abund <- subset(heal.relabund.tbl,grepl("^d9", rownames(heal.relabund.tbl)))
d10.abund <- subset(heal.relabund.tbl,grepl("^d10", rownames(heal.relabund.tbl)))
head(d8.abund)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d8.4 0.00000000 0.00000000 0.00000000
## d8.3 0.00000000 0.00000000 0.00000000
## d8.2 0.04132231 0.01033058 0.01033058
## d8.1 0.03090712 5.20785041 0.06181425
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d8.4 0 0.00000000 0.0000000
## d8.3 0 0.00000000 0.0000000
## d8.2 0 0.04132231 0.9400826
## d8.1 0 0.88085304 0.5717818
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## d8.4 0.02316423 0.00000000 0.06949270 0.00000000
## d8.3 0.01474926 0.00000000 0.02949853 0.00000000
## d8.2 1.27066116 0.09297521 0.01033058 0.02066116
## d8.1 0.10817493 0.35543193 0.00000000 0.30907124
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## d8.4 0.1505675 0.01158212 0.00000000
## d8.3 0.1474926 0.02949853 0.00000000
## d8.2 0.0000000 2.62396694 0.03099174
## d8.1 0.0000000 0.00000000 0.47906042
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## d8.4 0.00000000 0.00000000 0.0000000
## d8.3 0.04424779 0.00000000 0.0000000
## d8.2 0.00000000 0.03099174 0.2272727
## d8.1 0.00000000 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU8184 236734 345448
## d8.4 0.00000000 0.00000000 0.00000000
## d8.3 0.00000000 0.01474926 1.31268437
## d8.2 0.03099174 0.00000000 0.00000000
## d8.1 0.00000000 0.00000000 0.06181425
## New.ReferenceOTU187 New.CleanUp.ReferenceOTU13188
## d8.4 0.00000000 0.00000000
## d8.3 0.00000000 0.00000000
## d8.2 0.03099174 0.02066116
## d8.1 0.00000000 0.01545356
## New.CleanUp.ReferenceOTU4077 New.ReferenceOTU142 New.ReferenceOTU281
## d8.4 0 0.02316423 9.93745657
## d8.3 0 0.00000000 0.07374631
## d8.2 0 0.01033058 1.23966942
## d8.1 0 0.00000000 0.00000000
## New.ReferenceOTU126 646411 179018
## d8.4 9.7289785 0.0000000 0.12740329
## d8.3 0.8554572 0.0000000 0.00000000
## d8.2 1.3119835 0.2479339 0.00000000
## d8.1 0.0000000 3.7552156 0.01545356
## New.CleanUp.ReferenceOTU14055 300820
## d8.4 0.01158212 0.01158212
## d8.3 0.00000000 0.01474926
## d8.2 0.04132231 0.06198347
## d8.1 0.00000000 0.06181425
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284 New.ReferenceOTU213
## d8.4 0.01158212 0.24322446 0.0000000
## d8.3 0.00000000 0.01474926 0.0000000
## d8.2 0.01033058 2.65495868 0.0000000
## d8.1 0.01545356 0.00000000 0.1699892
## 188931 New.ReferenceOTU179 New.ReferenceOTU209 New.ReferenceOTU38
## d8.4 0.0000000 0.0000000 0.04632847 0.000000
## d8.3 0.0000000 0.0000000 0.01474926 0.000000
## d8.2 0.1756198 0.4855372 0.32024793 1.673554
## d8.1 1.8235203 0.0000000 0.01545356 0.000000
## 361811 New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d8.4 0.03474635 0.0000000 0.00000000
## d8.3 0.00000000 0.0000000 0.01474926
## d8.2 0.00000000 0.6508264 0.16528926
## d8.1 0.03090712 0.0000000 0.00000000
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d8.4 0.00000000 0.01158212
## d8.3 0.05899705 0.00000000
## d8.2 0.25826446 0.02066116
## d8.1 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU33159 571178 2992312
## d8.4 0.00000000 0.00000000 0.0000000
## d8.3 0.00000000 0.08849558 0.0000000
## d8.2 0.00000000 0.01033058 0.0000000
## d8.1 0.01545356 0.00000000 0.4481533
## New.ReferenceOTU232 New.CleanUp.ReferenceOTU30376 New.ReferenceOTU211
## d8.4 0.00000000 0.00000000 0.000000
## d8.3 0.01474926 0.00000000 0.000000
## d8.2 0.04132231 0.03099174 0.000000
## d8.1 0.04636069 0.04636069 8.499459
## New.ReferenceOTU236 New.ReferenceOTU47 New.ReferenceOTU11
## d8.4 0.00000 0.01158212 0.00000000
## d8.3 0.00000 0.00000000 0.01474926
## d8.2 0.00000 0.02066116 0.13429752
## d8.1 8.80853 0.41724618 3.64704064
head(d10.abund)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d10.3 0.000000 0.00000000 0.000000
## d10.2 0.248623 0.05737454 0.000000
## d10.4 0.000000 0.00000000 0.000000
## d10.1 1.014479 0.73823585 2.162317
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d10.3 0.00000000 0.00000000 0.000000
## d10.2 0.06502448 0.09179927 1.797736
## d10.4 0.00000000 0.00000000 0.000000
## d10.1 0.37626215 1.32882454 1.309773
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## d10.3 0.00000000 0.0000000 0.00000000 0.0000000
## d10.2 0.07267442 1.9928091 0.10327417 0.1338739
## d10.4 0.34181884 0.0000000 0.01799047 0.0000000
## d10.1 1.35263860 0.5429606 2.90531530 0.9382740
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## d10.3 0.094302554 0.078585462 0.007858546
## d10.2 0.003824969 0.137698898 0.019124847
## d10.4 2.977421966 0.026985698 0.000000000
## d10.1 0.000000000 0.009525624 0.381024957
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## d10.3 0.062868369 0.11787819 0.007858546
## d10.2 0.003824969 0.05354957 2.704253366
## d10.4 1.718089413 1.58316092 0.000000000
## d10.1 0.000000000 0.00000000 1.238331111
## New.CleanUp.ReferenceOTU8184 236734 345448
## d10.3 0.000000 0.000000000 1.658153242
## d10.2 0.000000 0.007649939 0.003824969
## d10.4 0.000000 1.924979761 0.000000000
## d10.1 1.028767 0.000000000 0.000000000
## New.ReferenceOTU187 New.CleanUp.ReferenceOTU13188
## d10.3 0.0000000 0.00000000
## d10.2 0.3327723 0.07649939
## d10.4 0.0000000 0.00000000
## d10.1 0.5096209 0.48580682
## New.CleanUp.ReferenceOTU4077 New.ReferenceOTU142 New.ReferenceOTU281
## d10.3 0.00000000 0.07072692 3.00982318
## d10.2 0.02677479 0.34424725 0.01147491
## d10.4 0.00000000 0.00000000 2.86947918
## d10.1 0.49056963 1.10020956 0.26195466
## New.ReferenceOTU126 646411 179018
## d10.3 1.642436 0.0000000 0.0000000
## d10.2 1.269890 0.6693696 0.1721236
## d10.4 4.551588 0.0000000 0.0000000
## d10.1 1.328825 1.0001905 1.2954849
## New.CleanUp.ReferenceOTU14055 300820
## d10.3 0.00000000 0.070726916
## d10.2 0.04589963 0.022949816
## d10.4 0.00000000 0.125933255
## d10.1 0.52390932 0.004762812
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284
## d10.3 0.000000000 0.0000000
## d10.2 0.003824969 1.1933905
## d10.4 0.000000000 0.2158856
## d10.1 0.176224043 1.1430749
## New.ReferenceOTU213 188931 New.ReferenceOTU179
## d10.3 0.0000000 0.0000000 0.0000000
## d10.2 0.2409731 0.1453488 0.5813953
## d10.4 0.0000000 0.0000000 0.0000000
## d10.1 0.1857497 2.2004191 0.2381406
## New.ReferenceOTU209 New.ReferenceOTU38 361811
## d10.3 0.02357564 0.000000 0.007858546
## d10.2 0.48959608 2.302632 0.007649939
## d10.4 0.06296663 0.000000 0.000000000
## d10.1 1.84797104 1.195466 0.004762812
## New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d10.3 0.000000000 0.00000000
## d10.2 0.007649939 0.08414933
## d10.4 0.000000000 0.00000000
## d10.1 0.595351496 0.51438369
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d10.3 0.1178782 0.0000000
## d10.2 0.0000000 0.1568237
## d10.4 0.3238284 0.0000000
## d10.1 0.7382359 0.3095828
## New.CleanUp.ReferenceOTU33159 571178 2992312
## d10.3 0.007858546 0.518664047 0.0000000
## d10.2 0.084149327 0.003824969 0.0497246
## d10.4 0.000000000 0.000000000 0.0000000
## d10.1 0.404839017 0.000000000 0.8906458
## New.ReferenceOTU232 New.CleanUp.ReferenceOTU30376
## d10.3 0.000000000 0.00000000
## d10.2 0.489596083 0.03442472
## d10.4 0.008995233 0.00000000
## d10.1 4.858068203 1.59554201
## New.ReferenceOTU211 New.ReferenceOTU236 New.ReferenceOTU47
## d10.3 0.000000000 0.000000000 0.0000000
## d10.2 0.007649939 0.015299878 0.1262240
## d10.4 0.000000000 0.008995233 0.0000000
## d10.1 4.658030101 15.198132978 0.5000953
## New.ReferenceOTU11
## d10.3 0.0000000
## d10.2 0.2600979
## d10.4 0.0000000
## d10.1 2.3385407
# Put the tables of abundance and table of normalised values in the same order
# Base
ord5 <- match(colnames(heal.base.abund), colnames(heal.base.sig))
heal.base.sig <- heal.base.sig[,ord5]
ord6 <- match(rownames(heal.base.abund), rownames(heal.base.sig))
heal.base.sig <- heal.base.sig[ord6,]
head(heal.base.sig)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## base.8 3.076379 3.076379 0
## base.6 0.000000 4.892786 0
## base.4 2.225420 6.219738 0
## base.2 2.086360 6.302357 0
## base.1 0.000000 2.176682 0
## base.5 0.000000 4.060590 0
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## base.8 0 2.238014 2.238014
## base.6 0 0.000000 0.000000
## base.4 0 0.000000 4.527247
## base.2 0 0.000000 5.812365
## base.1 0 0.000000 0.000000
## base.5 0 0.000000 0.000000
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## base.8 3.076379 0 2.238014 2.238014
## base.6 0.000000 0 0.000000 0.000000
## base.4 0.000000 0 2.225420 0.000000
## base.2 0.000000 0 0.000000 0.000000
## base.1 0.000000 0 0.000000 0.000000
## base.5 0.000000 0 0.000000 0.000000
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## base.8 0.000000 0.000000 0
## base.6 8.861443 0.000000 0
## base.4 0.000000 0.000000 0
## base.2 2.086360 7.971544 0
## base.1 2.176682 5.312244 0
## base.5 0.000000 7.266235 0
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## base.8 4.291851 2.238014 5.62431
## base.6 8.688192 0.000000 0.00000
## base.4 0.000000 0.000000 0.00000
## base.2 3.424957 3.424957 0.00000
## base.1 0.000000 3.007600 0.00000
## base.5 0.000000 2.299118 0.00000
## New.CleanUp.ReferenceOTU8184 236734 345448 New.ReferenceOTU187
## base.8 0 2.238014 2.238014 0.000000
## base.6 0 2.532239 0.000000 0.000000
## base.4 0 3.062284 0.000000 4.527247
## base.2 0 0.000000 0.000000 0.000000
## base.1 0 0.000000 0.000000 0.000000
## base.5 0 0.000000 0.000000 4.365122
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## base.8 2.238014 0.000000
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 2.176682 0.000000
## base.5 0.000000 2.299118
## New.ReferenceOTU142 New.ReferenceOTU281 New.ReferenceOTU126
## base.8 0 6.495365 6.609611
## base.6 0 3.401819 5.868298
## base.4 0 4.276672 0.000000
## base.2 0 4.107166 6.241751
## base.1 0 5.927402 0.000000
## base.5 0 0.000000 0.000000
## 646411 179018 New.CleanUp.ReferenceOTU14055 300820
## base.8 0.000000 2.238014 0 8.390481
## base.6 2.532239 0.000000 0 7.175332
## base.4 4.926558 2.225420 0 7.950256
## base.2 3.424957 0.000000 0 8.403704
## base.1 0.000000 0.000000 0 5.749987
## base.5 0.000000 0.000000 0 4.365122
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284
## base.8 0.000000 2.238014
## base.6 0.000000 0.000000
## base.4 0.000000 2.225420
## base.2 0.000000 4.356180
## base.1 0.000000 6.227735
## base.5 2.299118 2.299118
## New.ReferenceOTU213 188931 New.ReferenceOTU179 New.ReferenceOTU209
## base.8 0 0 0.000000 2.238014
## base.6 0 0 0.000000 2.532239
## base.4 0 0 0.000000 3.588494
## base.2 0 0 0.000000 2.086360
## base.1 0 0 2.176682 0.000000
## base.5 0 0 0.000000 2.299118
## New.ReferenceOTU38 361811 New.CleanUp.ReferenceOTU20893
## base.8 0.000000 0.000000 0
## base.6 3.401819 2.532239 0
## base.4 2.225420 6.219738 0
## base.2 0.000000 7.232187 0
## base.1 0.000000 0.000000 0
## base.5 4.060590 0.000000 0
## New.CleanUp.ReferenceOTU1993 New.ReferenceOTU282
## base.8 0.00000 2.238014
## base.6 0.00000 0.000000
## base.4 2.22542 0.000000
## base.2 2.08636 0.000000
## base.1 0.00000 3.007600
## base.5 0.00000 7.593629
## New.CleanUp.ReferenceOTU8703 New.CleanUp.ReferenceOTU33159 571178
## base.8 0 0.000000 3.076379
## base.6 0 0.000000 0.000000
## base.4 0 0.000000 2.225420
## base.2 0 0.000000 0.000000
## base.1 0 2.176682 0.000000
## base.5 0 0.000000 0.000000
## 2992312 New.ReferenceOTU232 New.CleanUp.ReferenceOTU30376
## base.8 0.000000 0.000000 2.238014
## base.6 0.000000 0.000000 0.000000
## base.4 3.062284 3.973233 0.000000
## base.2 0.000000 0.000000 2.086360
## base.1 0.000000 0.000000 2.176682
## base.5 0.000000 3.144558 0.000000
## New.ReferenceOTU211 New.ReferenceOTU236 New.ReferenceOTU47
## base.8 2.238014 0.000000 0
## base.6 0.000000 0.000000 0
## base.4 4.276672 2.225420 0
## base.2 3.424957 3.806016 0
## base.1 0.000000 0.000000 0
## base.5 0.000000 2.299118 0
## New.ReferenceOTU11
## base.8 2.238014
## base.6 0.000000
## base.4 0.000000
## base.2 2.086360
## base.1 0.000000
## base.5 0.000000
# d8
ord7 <- match(colnames(d8.abund), colnames(d8.sig))
d8.sig <- d8.sig[,ord7]
ord8 <- match(rownames(d8.abund), rownames(d8.sig))
d8.sig <- d8.sig[ord8,]
head(d8.sig)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d8.4 0.000000 0.00000 0.000000
## d8.3 0.000000 0.00000 0.000000
## d8.2 3.404948 1.76472 1.764720
## d8.1 3.746566 11.03216 4.691798
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d8.4 0 0.000000 0.000000
## d8.3 0 0.000000 0.000000
## d8.2 0 3.404948 7.776271
## d8.1 0 8.471827 7.850585
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## d8.4 2.846383 0.000000 4.291003 0.000000
## d8.3 1.994607 0.000000 2.801190 0.000000
## d8.2 8.209278 4.497148 1.764720 2.535098
## d8.1 5.475028 7.168493 0.000000 6.968363
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## d8.4 5.366241 2.034207 0.000000
## d8.3 4.947233 2.801190 0.000000
## d8.2 0.000000 9.252932 3.034611
## d8.1 0.000000 0.000000 7.596537
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## d8.4 0.000000 0.000000 0.000000
## d8.3 3.315454 0.000000 0.000000
## d8.2 0.000000 3.034611 5.748402
## d8.1 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU8184 236734 345448 New.ReferenceOTU187
## d8.4 0.000000 0.000000 0.000000 0.000000
## d8.3 0.000000 1.994607 8.058921 0.000000
## d8.2 3.034611 0.000000 0.000000 3.034611
## d8.1 0.000000 0.000000 4.691798 0.000000
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## d8.4 0.000000 0
## d8.3 0.000000 0
## d8.2 2.535098 0
## d8.1 2.850235 0
## New.ReferenceOTU142 New.ReferenceOTU281 New.ReferenceOTU126 646411
## d8.4 2.846383 11.375771 11.345194 0.000000
## d8.3 0.000000 3.993255 7.444057 0.000000
## d8.2 1.764720 8.173776 8.255295 5.871695
## d8.1 0.000000 0.000000 0.000000 10.560635
## 179018 New.CleanUp.ReferenceOTU14055 300820
## d8.4 5.131578 2.034207 2.034207
## d8.3 0.000000 0.000000 1.994607
## d8.2 0.000000 3.404948 3.943780
## d8.1 2.850235 0.000000 4.691798
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284 New.ReferenceOTU213
## d8.4 2.034207 6.044732 0.000000
## d8.3 0.000000 1.994607 0.000000
## d8.2 1.764720 9.269844 0.000000
## d8.1 2.850235 0.000000 6.115262
## 188931 New.ReferenceOTU179 New.ReferenceOTU209 New.ReferenceOTU38
## d8.4 0.000000 0.000000 3.742427 0.00000
## d8.3 0.000000 0.000000 1.994607 0.00000
## d8.2 5.384305 6.829213 6.235354 8.60544
## d8.1 9.519478 0.000000 2.850235 0.00000
## 361811 New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d8.4 3.362880 0.000000 0.000000
## d8.3 0.000000 0.000000 1.994607
## d8.2 0.000000 7.248678 5.298999
## d8.1 3.746566 0.000000 0.000000
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d8.4 0.000000 2.034207
## d8.3 3.693799 0.000000
## d8.2 5.929603 2.535098
## d8.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU33159 571178 2992312 New.ReferenceOTU232
## d8.4 0.000000 0.000000 0.000000 0.000000
## d8.3 0.000000 4.241112 0.000000 1.994607
## d8.2 0.000000 1.764720 0.000000 3.404948
## d8.1 2.850235 0.000000 7.500836 4.295248
## New.CleanUp.ReferenceOTU30376 New.ReferenceOTU211 New.ReferenceOTU236
## d8.4 0.000000 0.00000 0.00000
## d8.3 0.000000 0.00000 0.00000
## d8.2 3.034611 0.00000 0.00000
## d8.1 4.295248 11.73858 11.79009
## New.ReferenceOTU47 New.ReferenceOTU11
## d8.4 2.034207 0.000000
## d8.3 0.000000 1.994607
## d8.2 2.535098 5.007871
## d8.1 7.398332 10.518494
# d9
ord9 <- match(colnames(d9.abund), colnames(d9.sig))
d9.sig <- d9.sig[,ord9]
ord10 <- match(rownames(d9.abund), rownames(d9.sig))
d9.sig <- d9.sig[ord10,]
head(d9.sig)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d9.3 0.000000 0.000000 0
## d9.4 2.020806 2.020806 0
## d9.2 4.124192 3.204638 0
## d9.1 9.310340 5.798175 0
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d9.3 0.000000 0.000000 0.000000
## d9.4 0.000000 0.000000 2.831109
## d9.2 3.204638 2.695872 7.764463
## d9.1 5.078391 4.120472 8.070172
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## d9.3 0.000000 0.000000 0 0.000000
## d9.4 0.000000 0.000000 0 2.020806
## d9.2 7.296131 4.334717 0 5.395607
## d9.1 8.127677 6.056882 0 0.000000
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## d9.3 3.437769 4.767099 0.00000
## d9.4 5.550641 0.000000 0.00000
## d9.2 1.902933 6.638510 0.00000
## d9.1 0.000000 6.785153 5.64905
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## d9.3 0.000000 2.097169 0.000000
## d9.4 5.453302 5.114331 0.000000
## d9.2 0.000000 0.000000 0.000000
## d9.1 0.000000 2.692535 7.365749
## New.CleanUp.ReferenceOTU8184 236734 345448 New.ReferenceOTU187
## d9.3 2.097169 0.000000 6.934416 0.000000
## d9.4 0.000000 6.275242 0.000000 0.000000
## d9.2 0.000000 0.000000 0.000000 2.695872
## d9.1 0.000000 0.000000 4.514622 8.976513
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## d9.3 2.097169 0.000000
## d9.4 0.000000 0.000000
## d9.2 0.000000 1.902933
## d9.1 9.394744 0.000000
## New.ReferenceOTU142 New.ReferenceOTU281 New.ReferenceOTU126 646411
## d9.3 2.097169 10.358075 10.210192 0.000000
## d9.4 0.000000 9.382984 9.033246 0.000000
## d9.2 3.877610 6.556900 6.000309 7.631252
## d9.1 0.000000 4.514622 5.078391 10.245689
## 179018 New.CleanUp.ReferenceOTU14055 300820
## d9.3 0.000000 0.000000 0.000000
## d9.4 0.000000 0.000000 4.274159
## d9.2 0.000000 1.902933 6.118799
## d9.1 5.078391 0.000000 2.692535
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284 New.ReferenceOTU213
## d9.3 0 4.369615 0.000000
## d9.4 0 3.346859 0.000000
## d9.2 0 7.136745 0.000000
## d9.1 0 6.854919 2.692535
## 188931 New.ReferenceOTU179 New.ReferenceOTU209 New.ReferenceOTU38
## d9.3 0.000000 0.000000 5.078391 0.000000
## d9.4 0.000000 0.000000 3.346859 0.000000
## d9.2 5.802052 5.729411 1.902933 1.902933
## d9.1 9.967226 5.482714 7.778598 9.334963
## 361811 New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d9.3 0.000000 2.097169 0.000000
## d9.4 0.000000 0.000000 0.000000
## d9.2 2.695872 4.124192 1.902933
## d9.1 0.000000 0.000000 6.170691
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d9.3 2.097169 0.000000
## d9.4 2.020806 0.000000
## d9.2 3.580013 1.902933
## d9.1 5.482714 0.000000
## New.CleanUp.ReferenceOTU33159 571178 2992312 New.ReferenceOTU232
## d9.3 0 2.097169 0.000000 0.00000
## d9.4 0 0.000000 0.000000 0.00000
## d9.2 0 3.204638 4.124192 0.00000
## d9.1 0 0.000000 5.649050 10.98607
## New.CleanUp.ReferenceOTU30376 New.ReferenceOTU211 New.ReferenceOTU236
## d9.3 0 0.00000 0
## d9.4 0 0.00000 0
## d9.2 0 0.00000 0
## d9.1 0 13.17561 0
## New.ReferenceOTU47 New.ReferenceOTU11
## d9.3 0.000000 0.000000
## d9.4 0.000000 0.000000
## d9.2 2.695872 4.124192
## d9.1 9.139146 10.381903
# d10
ord11 <- match(colnames(d10.abund), colnames(d10.sig))
d10.sig <- d10.sig[,ord11]
ord12 <- match(rownames(d10.abund), rownames(d10.sig))
d10.sig <- d10.sig[ord12,]
head(d10.sig)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## d10.3 0.000000 0.000000 0.00000
## d10.2 6.619199 4.551829 0.00000
## d10.4 0.000000 0.000000 0.00000
## d10.1 9.473706 9.015880 10.56447
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## d10.3 0.000000 0.000000 0.000000
## d10.2 4.725147 5.206649 9.460646
## d10.4 0.000000 0.000000 0.000000
## d10.1 8.046215 9.862637 9.841826
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## d10.3 0.000000 0.000000 0.000000 0.000000
## d10.2 4.879858 9.609068 5.372226 5.738638
## d10.4 6.700177 0.000000 2.682585 0.000000
## d10.1 9.888236 8.573647 10.990340 9.361213
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## d10.3 4.744508 4.492198 1.655598
## d10.2 1.320199 5.778530 3.084920
## d10.4 9.810602 3.190628 0.000000
## d10.1 0.000000 2.938599 8.064294
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## d10.3 4.186207 5.055632 1.655598
## d10.2 1.320199 4.456680 10.049009
## d10.4 9.018521 8.900760 0.000000
## d10.1 0.000000 0.000000 9.760997
## New.CleanUp.ReferenceOTU8184 236734 345448 New.ReferenceOTU187
## d10.3 0.000000 0.000000 8.828972 0.000000
## d10.2 0.000000 1.997839 1.320199 7.036058
## d10.4 0.000000 9.182260 0.000000 0.000000
## d10.1 9.493855 0.000000 0.000000 8.482472
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## d10.3 0.000000 0.000000
## d10.2 4.951407 3.520930
## d10.4 0.000000 0.000000
## d10.1 8.413628 8.427662
## New.ReferenceOTU142 New.ReferenceOTU281 New.ReferenceOTU126 646411
## d10.3 4.347300 9.687648 8.815263 0.000000
## d10.2 7.084602 2.457074 8.960019 8.038788
## d10.4 0.000000 9.757388 10.422353 0.000000
## d10.1 9.590587 7.526173 9.862637 9.453271
## 179018 New.CleanUp.ReferenceOTU14055 300820
## d10.3 0.000000 0.000000 4.347300
## d10.2 6.095192 4.245197 3.319334
## d10.4 0.000000 0.000000 5.283195
## d10.1 9.826019 8.522255 2.115477
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284
## d10.3 0.000000 0.000000
## d10.2 1.320199 8.870568
## d10.4 0.000000 6.045282
## d10.1 6.958069 9.645658
## New.ReferenceOTU213 188931 New.ReferenceOTU179
## d10.3 0.000000 0.000000 0.000000
## d10.2 6.574577 5.855148 7.836334
## d10.4 0.000000 0.000000 0.000000
## d10.1 7.033423 10.589651 7.389452
## New.ReferenceOTU209 New.ReferenceOTU38 361811
## d10.3 2.897553 0.000000 1.655598
## d10.2 7.589589 9.817300 1.997839
## d10.4 4.319776 0.000000 0.000000
## d10.1 10.337993 9.710232 2.115477
## New.CleanUp.ReferenceOTU20893 New.CleanUp.ReferenceOTU1993
## d10.3 0.000000 0.000000
## d10.2 1.997839 5.084665
## d10.4 0.000000 0.000000
## d10.1 8.706208 8.495855
## New.ReferenceOTU282 New.CleanUp.ReferenceOTU8703
## d10.3 5.055632 0.000000
## d10.2 0.000000 5.962948
## d10.4 6.622945 0.000000
## d10.1 9.015880 7.765977
## New.CleanUp.ReferenceOTU33159 571178 2992312 New.ReferenceOTU232
## d10.3 1.655598 7.159220 0.000000 0.000000
## d10.2 5.084665 1.320199 4.354810 7.589589
## d10.4 0.000000 0.000000 0.000000 1.891430
## d10.1 8.151439 0.000000 9.286173 11.731743
## New.CleanUp.ReferenceOTU30376 New.ReferenceOTU211
## d10.3 0.000000 0.000000
## d10.2 3.855297 1.997839
## d10.4 0.000000 0.000000
## d10.1 10.126274 11.671099
## New.ReferenceOTU236 New.ReferenceOTU47 New.ReferenceOTU11
## d10.3 0.000000 0.000000 0.000000
## d10.2 2.804885 5.655386 6.683646
## d10.4 1.891430 0.000000 0.000000
## d10.1 13.376894 8.455327 10.677426
## Selecting OTUs that have a mean or median of at least 0.35%
# Work with data frames
heal.base.sig <- as.data.frame(heal.base.sig)
d8.sig <- as.data.frame(d8.sig)
d9.sig <- as.data.frame(d9.sig)
d10.sig <- as.data.frame(d10.sig)
heal.base.abund <- as.data.frame(heal.base.abund)
d8.abund <- as.data.frame(d8.abund)
d9.abund <- as.data.frame(d9.abund)
d10.abund <- as.data.frame(d10.abund)
# Select only OTUs above threshold
##For some reason, this didn't really work when I had more than 2 groups to compare. I decided not to worry about it, because for the moment I'm not using the threshold for any sort of plot or table.
#heal.threshold <- c()
#for (i in 1:length(heal.base.sig)) {
#heal.threshold[i] <- ifelse(median(heal.base.abund[,i]) > 0.1 | median(d8.abund[,i]) > 0.1 | median(d9.abund[,i]) > #0.1 | median(d10.abund[,i]) > 0.1 | mean(heal.base.abund[,i]) > 0.1 | mean(d8.abund[,i]) > 0.1 | mean(d9.abund[,i]) > #0.1 | mean(d10.abund[,i]) > 0.1, names(heal.base.sig[i]), NA)
#}
#heal.threshold <- heal.threshold[!is.na(heal.threshold)]
#heal.threshold
##Export table of mean and median values for all significant OTUs
heal.table <- rownames(heal.sig)
mean.heal.base <- c()
mean.d8 <- c()
mean.d9 <- c()
mean.d10 <- c()
median.heal.base <- c()
median.d8 <- c()
median.d9 <- c()
median.d10 <- c()
for (i in heal.table) {
mean.heal.base[i] <- mean(heal.base.abund[,i])
median.heal.base[i] <- median(heal.base.abund[,i])
mean.d8[i] <- mean(d8.abund[,i])
median.d8[i] <- median(d8.abund[,i])
mean.d9[i] <- mean(d9.abund[,i])
median.d9[i] <- median(d9.abund[,i])
mean.d10[i] <- mean(d10.abund[,i])
median.d10[i] <- median(d10.abund[,i])
}
heal.table <- data.frame(mean.heal.base, median.heal.base, mean.d8, median.d8, mean.d9, median.d9, mean.d10, median.d10)
head(heal.table)
## mean.heal.base median.heal.base mean.d8 median.d8
## New.ReferenceOTU211 0.030433961 0.005709066 2.1248648 0.00000000
## New.ReferenceOTU236 0.030470317 0.016527661 2.2021326 0.00000000
## 188931 0.000000000 0.000000000 0.4997850 0.08780992
## New.ReferenceOTU11 0.005555503 0.000000000 0.9490219 0.07452339
## 127 0.001427266 0.000000000 0.2305438 0.02066116
## New.ReferenceOTU38 0.055757466 0.008185986 0.4183884 0.00000000
## mean.d9 median.d9 mean.d10 median.d10
## New.ReferenceOTU211 5.88746696 0.000000000 1.1664200 0.003824969
## New.ReferenceOTU236 0.00000000 0.000000000 3.8056070 0.012147555
## 188931 0.72156780 0.170357751 0.5864420 0.072674419
## New.ReferenceOTU11 0.87407223 0.051107325 0.6496596 0.130048960
## 127 0.01895049 0.017035775 0.3551560 0.045899633
## New.ReferenceOTU38 0.41460809 0.008517888 0.8745243 0.597732902
write.table(heal.table, "dss.feces/heal.mean.med.txt", sep="\t")
##-------DSS fitZig
##For DSS data (no healing time points)
dss.sig <- read.table("dss.feces/dss.fitzig.res.txt", header = T, sep = "\t")
head(dss.sig)
## X.Intercept. TrialTime.dssDSS_Day1
## New.CleanUp.ReferenceOTU2842 -3.9833910 2.732702
## 940433 -10.0273083 4.214842
## 334485 0.4008617 -3.835954
## 588197 6.4019377 -3.473035
## New.CleanUp.ReferenceOTU18040 -7.1838350 3.505814
## 40149 10.2305934 -2.892125
## TrialTime.dssDSS_Day2 TrialTime.dssDSS_Day3
## New.CleanUp.ReferenceOTU2842 0.5831911 1.0514243
## 940433 -0.1462576 0.6133145
## 334485 -3.5543588 -4.5440477
## 588197 -1.7998647 -2.2720558
## New.CleanUp.ReferenceOTU18040 0.2140766 2.0961205
## 40149 -2.4134167 -3.7442000
## TrialTime.dssDSS_Day4 TrialTime.dssDSS_Day5
## New.CleanUp.ReferenceOTU2842 0.8519919 0.18928189
## 940433 0.4511418 -0.09898888
## 334485 -3.4063298 -4.02529089
## 588197 -2.2586009 -2.53162102
## New.CleanUp.ReferenceOTU18040 2.2903964 1.07150918
## 40149 -3.3448261 -3.04751369
## TrialTime.dssDSS_Day6 TrialTime.dssDSS_Day7
## New.CleanUp.ReferenceOTU2842 -0.5384879 0.02776264
## 940433 1.0027746 -0.69450248
## 334485 -4.7069889 -2.32005936
## 588197 -3.2654349 -3.44510842
## New.CleanUp.ReferenceOTU18040 0.2594399 2.09513801
## 40149 -1.6089971 -1.29715818
## normFactor.dss scalingFactor pvalues
## New.CleanUp.ReferenceOTU2842 15.20344 -28.39214 5.533560e-10
## 940433 45.21663 -92.27358 1.400607e-08
## 334485 20.60855 -43.42599 1.542478e-08
## 588197 -21.41061 50.53120 2.783521e-08
## New.CleanUp.ReferenceOTU18040 31.89085 -65.37890 9.825923e-08
## 40149 -34.04290 74.45521 1.456619e-07
## adjPvalues
## New.CleanUp.ReferenceOTU2842 4.559654e-07
## 940433 4.236672e-06
## 334485 4.236672e-06
## 588197 5.734054e-06
## New.CleanUp.ReferenceOTU18040 1.619312e-05
## 40149 2.000423e-05
##All OTUs are significant with adjusted p-values << 0.05
# Read in the matrix of CSS normalised and logged counts
dss.norm.tbl <- read.table("dss.feces/dss.css.norm.log.txt", header = T, sep = "\t", check.names = F)
head(dss.norm.tbl)
## 133 55 54 69 21
## New.CleanUp.ReferenceOTU31068 0.000000 2.408806 2.383887 1.920490 0
## New.ReferenceOTU33 4.395374 1.657719 4.717893 5.509957 0
## New.ReferenceOTU122 6.382068 3.266140 4.465782 6.621950 0
## 360329 2.941391 0.000000 4.160084 0.000000 0
## New.CleanUp.ReferenceOTU20966 2.447405 3.800230 7.477476 3.225976 0
## New.CleanUp.ReferenceOTU6149 2.447405 0.000000 2.383887 5.321828 0
## 66 48 24 8 6
## New.CleanUp.ReferenceOTU31068 0.000000 2.225420 0.000000 0.000000 0.00000
## New.ReferenceOTU33 0.000000 0.000000 0.000000 0.000000 0.00000
## New.ReferenceOTU122 5.338912 1.504994 0.000000 2.184629 0.00000
## 360329 0.000000 0.000000 2.555337 0.000000 3.90241
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000 0.00000
## New.CleanUp.ReferenceOTU6149 0.000000 1.504994 0.000000 0.000000 0.00000
## 29 44 4 31 20
## New.CleanUp.ReferenceOTU31068 3.598259 3.643193 0.000000 0 2.068632
## New.ReferenceOTU33 0.000000 4.584271 0.000000 0 0.000000
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0 0.000000
## 360329 2.233797 0.000000 4.740674 0 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 2.233797 0.000000 0.000000 0 0.000000
## 19 63 70 38 35
## New.CleanUp.ReferenceOTU31068 2.537965 4.055282 0.000000 1.841562 2.609292
## New.ReferenceOTU33 0.000000 0.000000 0.000000 0.000000 0.000000
## New.ReferenceOTU122 0.000000 4.359750 4.412094 0.000000 2.609292
## 360329 0.000000 3.139551 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 0.000000
## 57 27 37 2 33
## New.CleanUp.ReferenceOTU31068 0.000000 5.023767 4.060590 0.000000 0.00000
## New.ReferenceOTU33 0.000000 0.000000 2.299118 0.000000 0.00000
## New.ReferenceOTU122 2.229599 0.000000 2.299118 0.000000 3.73501
## 360329 0.000000 3.859325 2.299118 5.966672 0.00000
## New.CleanUp.ReferenceOTU20966 0.000000 1.701439 0.000000 2.276840 0.00000
## New.CleanUp.ReferenceOTU6149 0.000000 1.701439 0.000000 0.000000 0.00000
## 68 65 1 135 36
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 0.000000 0.000000 2.561194
## New.ReferenceOTU33 5.506032 0.000000 5.144220 0.000000 2.561194
## New.ReferenceOTU122 0.000000 4.959792 0.000000 2.861874 2.561194
## 360329 5.101538 0.000000 0.000000 0.000000 2.561194
## New.CleanUp.ReferenceOTU20966 1.917538 0.000000 3.499435 0.000000 3.433483
## New.CleanUp.ReferenceOTU6149 1.917538 2.004339 0.000000 2.047816 0.000000
## 5 67 3 41 7
## New.CleanUp.ReferenceOTU31068 0.000000 5.548484 0.000000 0.000000 0.000000
## New.ReferenceOTU33 3.623019 4.023892 5.667383 0.000000 0.000000
## New.ReferenceOTU122 0.000000 0.000000 0.000000 1.794576 0.000000
## 360329 0.000000 0.000000 0.000000 0.000000 3.305808
## New.CleanUp.ReferenceOTU20966 2.255073 0.000000 0.000000 0.000000 2.444785
## New.CleanUp.ReferenceOTU6149 0.000000 2.268073 0.000000 0.000000 0.000000
## 45 60 51 49 23
## New.CleanUp.ReferenceOTU31068 2.137950 5.206649 0.000000 2.200731 0
## New.ReferenceOTU33 5.792381 0.000000 0.000000 2.677099 0
## New.ReferenceOTU122 0.000000 0.000000 0.000000 1.484685 0
## 360329 0.000000 5.520742 3.810373 0.000000 0
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 1.484685 0
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 0
## 46 25 128 43 39
## New.CleanUp.ReferenceOTU31068 2.476695 0 3.388148 2.126644 3.742427
## New.ReferenceOTU33 0.000000 0 6.226193 3.472619 4.042633
## New.ReferenceOTU122 0.000000 0 0.000000 0.000000 0.000000
## 360329 0.000000 0 2.259387 3.472619 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0 3.628031 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0 0.000000 0.000000 0.000000
## 129 53 50 61 56
## New.CleanUp.ReferenceOTU31068 3.249542 0.000000 4.666202 0.000000 0.000000
## New.ReferenceOTU33 0.000000 0.000000 6.009317 3.977212 0.000000
## New.ReferenceOTU122 2.393778 2.498548 0.000000 1.981799 4.031296
## 360329 5.815554 4.454849 4.175778 4.436226 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.733607 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 4.436226 2.429205
## 58 22 30 18 42
## New.CleanUp.ReferenceOTU31068 1.891430 3.763265 4.177441 0.00000 4.739143
## New.ReferenceOTU33 0.000000 2.865782 4.483333 0.00000 5.970317
## New.ReferenceOTU122 0.000000 4.312369 4.735578 2.64689 0.000000
## 360329 5.984831 2.865782 2.398762 0.00000 0.000000
## New.CleanUp.ReferenceOTU20966 1.891430 3.763265 5.708244 0.00000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 3.255049 0.00000 0.000000
## 59 40 52 34 47
## New.CleanUp.ReferenceOTU31068 2.76492 0.000000 5.659626 5.415037 4.208885
## New.ReferenceOTU33 0.00000 0.000000 6.436055 0.000000 1.969179
## New.ReferenceOTU122 0.00000 3.329091 0.000000 2.493040 4.420089
## 360329 0.00000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.00000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.00000 0.000000 4.808747 0.000000 2.772076
## 62 17
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000
## New.ReferenceOTU33 0.000000 0.000000
## New.ReferenceOTU122 6.972814 0.000000
## 360329 2.040985 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 2.108109
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000
##Subset this table to the significant OTUs and remove unnecessary columns
dss.sig.tbl <- merge(dss.sig, dss.norm.tbl, by=0)
head(dss.sig.tbl)
## Row.names X.Intercept. TrialTime.dssDSS_Day1 TrialTime.dssDSS_Day2
## 1 1013234 3.5331072 -2.280785 -2.886224
## 2 25562 4.8246401 -2.332581 -2.540712
## 3 322505 4.5585731 -2.295755 -1.640326
## 4 333363 9.1802482 5.034870 2.471888
## 5 334485 0.4008617 -3.835954 -3.554359
## 6 344804 3.1874053 -2.748256 -1.646320
## TrialTime.dssDSS_Day3 TrialTime.dssDSS_Day4 TrialTime.dssDSS_Day5
## 1 -2.7444429 -1.828675 -2.354492
## 2 -2.1352637 -2.560567 -3.551486
## 3 -3.2878412 -3.193862 -2.161328
## 4 0.3512338 2.282364 1.497813
## 5 -4.5440477 -3.406330 -4.025291
## 6 -1.9253571 -2.781035 -1.934073
## TrialTime.dssDSS_Day6 TrialTime.dssDSS_Day7 normFactor.dss scalingFactor
## 1 -2.333703 -2.624902 -13.007434 32.753446
## 2 -2.710681 -3.486846 -18.261768 44.320273
## 3 -1.817397 -2.334120 -5.067449 9.893916
## 4 1.381981 3.019606 -43.109470 89.983717
## 5 -4.706989 -2.320059 20.608555 -43.425987
## 6 -1.944918 -2.945753 -6.086311 15.174328
## pvalues adjPvalues 133 55 54 69 21
## 1 2.861103e-05 6.913010e-04 1.690270 2.408806 2.383887 0.000000 0
## 2 3.276966e-05 7.297892e-04 0.000000 0.000000 0.000000 0.000000 0
## 3 2.191982e-05 6.245156e-04 0.000000 1.657719 0.000000 1.920490 0
## 4 5.201756e-06 2.139963e-04 4.540506 3.800230 2.383887 4.983708 0
## 5 1.542478e-08 4.236672e-06 3.308694 0.000000 2.383887 0.000000 0
## 6 6.947847e-05 1.215427e-03 0.000000 0.000000 0.000000 0.000000 0
## 66 48 24 8 6 29 44 4
## 1 0.000000 4.407393 0.000000 5.662359 2.498548 0.000000 2.272447 2.225420
## 2 0.000000 3.062284 2.555337 4.876212 0.000000 3.071661 0.000000 2.225420
## 3 3.288644 0.000000 2.555337 0.000000 0.000000 3.071661 0.000000 4.740674
## 4 0.000000 0.000000 0.000000 0.000000 0.000000 3.071661 0.000000 0.000000
## 5 0.000000 1.504994 2.555337 7.786976 5.255852 3.071661 3.114839 0.000000
## 6 2.429205 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 4.527247
## 31 20 19 63 70 38 35 57
## 1 0.00000 2.068632 0 0.000000 1.962938 0.000000 0.000000 0.000000
## 2 0.00000 0.000000 0 0.000000 0.000000 2.624793 0.000000 0.000000
## 3 0.00000 0.000000 0 3.668885 0.000000 0.000000 0.000000 2.229599
## 4 0.00000 0.000000 0 2.294621 1.962938 0.000000 4.420089 0.000000
## 5 2.24225 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000
## 6 2.24225 0.000000 0 0.000000 0.000000 2.624793 2.609292 2.229599
## 27 37 2 33 68 65 1 135 36 5 67 3
## 1 0.000000 0 6.210952 0.000000 0 2.812313 0 0 0 0.000000 0 4.695495
## 2 1.701439 0 7.201181 0.000000 0 2.004339 0 0 0 4.563250 0 0.000000
## 3 0.000000 0 5.302375 0.000000 0 0.000000 0 0 0 0.000000 0 0.000000
## 4 2.460613 0 0.000000 0.000000 0 2.004339 0 0 0 0.000000 0 0.000000
## 5 0.000000 0 0.000000 1.792045 0 0.000000 0 0 0 0.000000 0 0.000000
## 6 0.000000 0 0.000000 0.000000 0 0.000000 0 0 0 2.255073 0 6.798573
## 41 7 45 60 51 49 23 46 25 128
## 1 0.000000 0.000000 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 2 3.443148 0.000000 0 1.997839 0 4.497148 0 0.000000 0.000000 0
## 3 0.000000 5.357552 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 4 0.000000 0.000000 0 0.000000 0 3.034611 0 5.544179 0.000000 0
## 5 0.000000 6.689610 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 6 0.000000 0.000000 0 2.804885 0 1.484685 0 0.000000 3.777353 0
## 43 39 129 53 50 61 56 58 22 30
## 1 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 0.000000 0.000000
## 2 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 2.865782 0.000000
## 3 0.000000 0.000000 0 0 0 1.981799 0.000000 0.00000 2.051252 0.000000
## 4 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 6.314993 6.202605
## 5 2.126644 0.000000 0 0 0 0.000000 0.000000 0.00000 2.051252 2.398762
## 6 0.000000 2.034207 0 0 0 0.000000 3.288644 1.89143 0.000000 0.000000
## 18 42 59 40 52 34 47 62 17
## 1 1.860597 0 0 0.000000 0 0 0 0.000000 0
## 2 1.860597 0 0 2.465945 0 0 0 0.000000 0
## 3 0.000000 0 0 0.000000 0 0 0 2.040985 0
## 4 0.000000 0 0 0.000000 0 0 0 3.370973 0
## 5 0.000000 0 0 0.000000 0 0 0 0.000000 0
## 6 0.000000 0 0 0.000000 0 0 0 0.000000 0
##Renaming columns to state the time point and numbered replicate, instead of a barcode.
colnames(dss.sig.tbl) <- c("OTU", "x.intercept", "Log2FC_day1", "Log2FC_day2", "Log2FC_day3", "Log2FC_day4", "Log2FC_day5", "Log2FC_day6", "Log2FC_day7", "normfactor", "scalingfactor", "pvalues", "adjPvalues", "d7.7", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "d4.7", "d1.8", "base.8", "base.6", "d2.3", "d4.3", "base.4", "d2.5", "d1.4", "d1.3", "d6.6", "d7.4", "d3.5", "d3.2", "d5.8", "d2.2", "d3.4", "base.2", "d2.6", "d7.2", "d6.7", "base.1", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "d1.7", "d4.5", "d2.1", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "d5.1", "d6.4", "d5.7", "d6.1", "d1.6", "d2.4", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1")
dss.sig.counts.tbl <- dss.sig.tbl
dss.sig.counts.tbl$x.intercept <- NULL
dss.sig.counts.tbl$Log2FC_day1 <- NULL
dss.sig.counts.tbl$Log2FC_day2 <- NULL
dss.sig.counts.tbl$Log2FC_day3 <- NULL
dss.sig.counts.tbl$Log2FC_day4 <- NULL
dss.sig.counts.tbl$Log2FC_day5 <- NULL
dss.sig.counts.tbl$Log2FC_day6 <- NULL
dss.sig.counts.tbl$Log2FC_day7 <- NULL
dss.sig.counts.tbl$normfactor <- NULL
dss.sig.counts.tbl$scalingfactor <- NULL
dss.sig.counts.tbl$pvalues <- NULL
dss.sig.counts.tbl$adjPvalues <- NULL
head(dss.sig.counts.tbl) # this table contains the CSS normalized and log transformed counts for each replicate (animal) at a given time point.
## OTU d7.7 d5.6 d5.5 d7.3 d1.5 d6.8 d4.7
## 1 1013234 1.690270 2.408806 2.383887 0.000000 0 0.000000 4.407393
## 2 25562 0.000000 0.000000 0.000000 0.000000 0 0.000000 3.062284
## 3 322505 0.000000 1.657719 0.000000 1.920490 0 3.288644 0.000000
## 4 333363 4.540506 3.800230 2.383887 4.983708 0 0.000000 0.000000
## 5 334485 3.308694 0.000000 2.383887 0.000000 0 0.000000 1.504994
## 6 344804 0.000000 0.000000 0.000000 0.000000 0 2.429205 0.000000
## d1.8 base.8 base.6 d2.3 d4.3 base.4 d2.5 d1.4
## 1 0.000000 5.662359 2.498548 0.000000 2.272447 2.225420 0.00000 2.068632
## 2 2.555337 4.876212 0.000000 3.071661 0.000000 2.225420 0.00000 0.000000
## 3 2.555337 0.000000 0.000000 3.071661 0.000000 4.740674 0.00000 0.000000
## 4 0.000000 0.000000 0.000000 3.071661 0.000000 0.000000 0.00000 0.000000
## 5 2.555337 7.786976 5.255852 3.071661 3.114839 0.000000 2.24225 0.000000
## 6 0.000000 0.000000 0.000000 0.000000 0.000000 4.527247 2.24225 0.000000
## d1.3 d6.6 d7.4 d3.5 d3.2 d5.8 d2.2 d3.4 base.2
## 1 0 0.000000 1.962938 0.000000 0.000000 0.000000 0.000000 0 6.210952
## 2 0 0.000000 0.000000 2.624793 0.000000 0.000000 1.701439 0 7.201181
## 3 0 3.668885 0.000000 0.000000 0.000000 2.229599 0.000000 0 5.302375
## 4 0 2.294621 1.962938 0.000000 4.420089 0.000000 2.460613 0 0.000000
## 5 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0 0.000000
## 6 0 0.000000 0.000000 2.624793 2.609292 2.229599 0.000000 0 0.000000
## d2.6 d7.2 d6.7 base.1 d7.8 d3.3 base.5 d7.1 base.3 d3.8
## 1 0.000000 0 2.812313 0 0 0 0.000000 0 4.695495 0.000000
## 2 0.000000 0 2.004339 0 0 0 4.563250 0 0.000000 3.443148
## 3 0.000000 0 0.000000 0 0 0 0.000000 0 0.000000 0.000000
## 4 0.000000 0 2.004339 0 0 0 0.000000 0 0.000000 0.000000
## 5 1.792045 0 0.000000 0 0 0 0.000000 0 0.000000 0.000000
## 6 0.000000 0 0.000000 0 0 0 2.255073 0 6.798573 0.000000
## base.7 d4.4 d6.3 d5.2 d4.8 d1.7 d4.5 d2.1 d7.5
## 1 0.000000 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 2 0.000000 0 1.997839 0 4.497148 0 0.000000 0.000000 0
## 3 5.357552 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 4 0.000000 0 0.000000 0 3.034611 0 5.544179 0.000000 0
## 5 6.689610 0 0.000000 0 0.000000 0 0.000000 0.000000 0
## 6 0.000000 0 2.804885 0 1.484685 0 0.000000 3.777353 0
## d4.2 d3.6 d7.6 d5.4 d5.1 d6.4 d5.7 d6.1 d1.6
## 1 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 0.000000
## 2 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 2.865782
## 3 0.000000 0.000000 0 0 0 1.981799 0.000000 0.00000 2.051252
## 4 0.000000 0.000000 0 0 0 0.000000 0.000000 0.00000 6.314993
## 5 2.126644 0.000000 0 0 0 0.000000 0.000000 0.00000 2.051252
## 6 0.000000 2.034207 0 0 0 0.000000 3.288644 1.89143 0.000000
## d2.4 d1.2 d4.1 d6.2 d3.7 d5.3 d3.1 d4.6 d6.5 d1.1
## 1 0.000000 1.860597 0 0 0.000000 0 0 0 0.000000 0
## 2 0.000000 1.860597 0 0 2.465945 0 0 0 0.000000 0
## 3 0.000000 0.000000 0 0 0.000000 0 0 0 2.040985 0
## 4 6.202605 0.000000 0 0 0.000000 0 0 0 3.370973 0
## 5 2.398762 0.000000 0 0 0.000000 0 0 0 0.000000 0
## 6 0.000000 0.000000 0 0 0.000000 0 0 0 0.000000 0
# Transpose the table
rownames(dss.sig.counts.tbl) <- dss.sig.counts.tbl$OTU
dss.sig.counts.tbl$OTU <- NULL
dss.sig.counts.tbl <- t(dss.sig.counts.tbl)
head(dss.sig.counts.tbl)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d7.7 1.690270 0 0.000000 4.540506 3.308694 0.000000 1.690270 0
## d5.6 2.408806 0 1.657719 3.800230 0.000000 0.000000 0.000000 0
## d5.5 2.383887 0 0.000000 2.383887 2.383887 0.000000 0.000000 0
## d7.3 0.000000 0 1.920490 4.983708 0.000000 0.000000 0.000000 0
## d1.5 0.000000 0 0.000000 0.000000 0.000000 0.000000 3.266140 0
## d6.8 0.000000 0 3.288644 0.000000 0.000000 2.429205 3.823535 0
## 40149 4426298 462585 509452 522433 588197 663226
## d7.7 5.008110 0 0.000000 0.000000 0.000000 2.447405 6.219104
## d5.6 2.408806 0 0.000000 1.657719 0.000000 3.266140 1.657719
## d5.5 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000
## d7.3 4.983708 0 0.000000 0.000000 0.000000 2.716120 5.217684
## d1.5 5.462820 0 0.000000 0.000000 0.000000 0.000000 3.266140
## d6.8 3.288644 0 2.429205 0.000000 2.429205 2.429205 4.986491
## 703741 752354 761968 772384 804526 807795 851865
## d7.7 3.844288 1.69027 3.601204 0.000000 1.690270 1.690270 2.447405
## d5.6 4.858838 0.00000 3.557761 0.000000 0.000000 0.000000 2.900242
## d5.5 0.000000 0.00000 0.000000 0.000000 2.383887 0.000000 0.000000
## d7.3 4.146744 0.00000 0.000000 0.000000 1.920490 0.000000 3.899908
## d1.5 6.128572 3.26614 0.000000 0.000000 3.266140 3.266140 0.000000
## d6.8 3.288644 0.00000 2.429205 5.338912 4.986491 2.429205 5.173436
## 940433 New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d7.7 0.000000 3.601204 0
## d5.6 0.000000 1.657719 0
## d5.5 0.000000 0.000000 0
## d7.3 0.000000 0.000000 0
## d1.5 3.266140 0.000000 0
## d6.8 3.288644 0.000000 0
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d7.7 2.941391 2.447405
## d5.6 0.000000 2.408806
## d5.5 2.383887 2.383887
## d7.3 0.000000 0.000000
## d1.5 0.000000 0.000000
## d6.8 0.000000 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d7.7 0.000000 0
## d5.6 0.000000 0
## d5.5 2.383887 0
## d7.3 0.000000 0
## d1.5 4.189143 0
## d6.8 0.000000 0
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d7.7 0.00000 5.360683
## d5.6 0.00000 3.557761
## d5.5 0.00000 2.383887
## d7.3 1.92049 0.000000
## d1.5 0.00000 3.266140
## d6.8 0.00000 0.000000
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d7.7 0 2.447405
## d5.6 0 0.000000
## d5.5 0 0.000000
## d7.3 0 1.920490
## d1.5 0 0.000000
## d6.8 0 0.000000
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d7.7 1.69027 1.69027
## d5.6 0.00000 0.00000
## d5.5 0.00000 0.00000
## d7.3 0.00000 1.92049
## d1.5 0.00000 0.00000
## d6.8 0.00000 0.00000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d7.7 0 0.000000
## d5.6 0 2.408806
## d5.5 0 0.000000
## d7.3 0 0.000000
## d1.5 0 4.747499
## d6.8 0 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d7.7 2.447405 0
## d5.6 0.000000 0
## d5.5 3.238606 0
## d7.3 3.225976 0
## d1.5 3.266140 0
## d6.8 2.429205 0
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d7.7 1.690270 1.69027
## d5.6 2.408806 0.00000
## d5.5 0.000000 0.00000
## d7.3 0.000000 1.92049
## d1.5 0.000000 0.00000
## d6.8 0.000000 0.00000
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d7.7 0.000000 0.000000
## d5.6 0.000000 0.000000
## d5.5 3.238606 2.383887
## d7.3 3.225976 0.000000
## d1.5 0.000000 0.000000
## d6.8 0.000000 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d7.7 5.578051 0
## d5.6 2.408806 0
## d5.5 2.383887 0
## d7.3 0.000000 0
## d1.5 5.938870 0
## d6.8 0.000000 0
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d7.7 3.601204 0
## d5.6 0.000000 0
## d5.5 0.000000 0
## d7.3 0.000000 0
## d1.5 0.000000 0
## d6.8 0.000000 0
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d7.7 4.672362 0 0.000000
## d5.6 1.657719 0 0.000000
## d5.5 0.000000 0 0.000000
## d7.3 1.920490 0 0.000000
## d1.5 0.000000 0 0.000000
## d6.8 0.000000 0 2.429205
#Split into tables for each time point
dss.base.sig <- subset(dss.sig.counts.tbl, grepl("^base", rownames(dss.sig.counts.tbl)))
d1.sig <- subset(dss.sig.counts.tbl, grepl("^d1", rownames(dss.sig.counts.tbl)))
d2.sig <- subset(dss.sig.counts.tbl, grepl("^d2", rownames(dss.sig.counts.tbl)))
d3.sig <- subset(dss.sig.counts.tbl, grepl("^d3", rownames(dss.sig.counts.tbl)))
d4.sig <- subset(dss.sig.counts.tbl, grepl("^d4", rownames(dss.sig.counts.tbl)))
d5.sig <- subset(dss.sig.counts.tbl, grepl("^d5", rownames(dss.sig.counts.tbl)))
d6.sig <- subset(dss.sig.counts.tbl, grepl("^d6", rownames(dss.sig.counts.tbl)))
d7.sig <- subset(dss.sig.counts.tbl, grepl("^d7", rownames(dss.sig.counts.tbl)))
##view each to make sure you relabeled your columns correctly; if you see an extra replicate you didn't label (usually has .1 tacked onto the end), or if you're missing a replicate you know you should have, double check your labeling!
head(heal.base.sig)
## New.ReferenceOTU164 365033 New.CleanUp.ReferenceOTU1669
## base.8 3.076379 3.076379 0
## base.6 0.000000 4.892786 0
## base.4 2.225420 6.219738 0
## base.2 2.086360 6.302357 0
## base.1 0.000000 2.176682 0
## base.5 0.000000 4.060590 0
## New.CleanUp.ReferenceOTU29218 127 New.ReferenceOTU26
## base.8 0 2.238014 2.238014
## base.6 0 0.000000 0.000000
## base.4 0 0.000000 4.527247
## base.2 0 0.000000 5.812365
## base.1 0 0.000000 0.000000
## base.5 0 0.000000 0.000000
## New.ReferenceOTU58 New.ReferenceOTU252 New.ReferenceOTU72 560336
## base.8 3.076379 0 2.238014 2.238014
## base.6 0.000000 0 0.000000 0.000000
## base.4 0.000000 0 2.225420 0.000000
## base.2 0.000000 0 0.000000 0.000000
## base.1 0.000000 0 0.000000 0.000000
## base.5 0.000000 0 0.000000 0.000000
## New.ReferenceOTU247 New.ReferenceOTU28 New.CleanUp.ReferenceOTU5148
## base.8 0.000000 0.000000 0
## base.6 8.861443 0.000000 0
## base.4 0.000000 0.000000 0
## base.2 2.086360 7.971544 0
## base.1 2.176682 5.312244 0
## base.5 0.000000 7.266235 0
## New.ReferenceOTU193 New.ReferenceOTU62 New.ReferenceOTU156
## base.8 4.291851 2.238014 5.62431
## base.6 8.688192 0.000000 0.00000
## base.4 0.000000 0.000000 0.00000
## base.2 3.424957 3.424957 0.00000
## base.1 0.000000 3.007600 0.00000
## base.5 0.000000 2.299118 0.00000
## New.CleanUp.ReferenceOTU8184 236734 345448 New.ReferenceOTU187
## base.8 0 2.238014 2.238014 0.000000
## base.6 0 2.532239 0.000000 0.000000
## base.4 0 3.062284 0.000000 4.527247
## base.2 0 0.000000 0.000000 0.000000
## base.1 0 0.000000 0.000000 0.000000
## base.5 0 0.000000 0.000000 4.365122
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## base.8 2.238014 0.000000
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 2.176682 0.000000
## base.5 0.000000 2.299118
## New.ReferenceOTU142 New.ReferenceOTU281 New.ReferenceOTU126
## base.8 0 6.495365 6.609611
## base.6 0 3.401819 5.868298
## base.4 0 4.276672 0.000000
## base.2 0 4.107166 6.241751
## base.1 0 5.927402 0.000000
## base.5 0 0.000000 0.000000
## 646411 179018 New.CleanUp.ReferenceOTU14055 300820
## base.8 0.000000 2.238014 0 8.390481
## base.6 2.532239 0.000000 0 7.175332
## base.4 4.926558 2.225420 0 7.950256
## base.2 3.424957 0.000000 0 8.403704
## base.1 0.000000 0.000000 0 5.749987
## base.5 0.000000 0.000000 0 4.365122
## New.CleanUp.ReferenceOTU16719 New.ReferenceOTU284
## base.8 0.000000 2.238014
## base.6 0.000000 0.000000
## base.4 0.000000 2.225420
## base.2 0.000000 4.356180
## base.1 0.000000 6.227735
## base.5 2.299118 2.299118
## New.ReferenceOTU213 188931 New.ReferenceOTU179 New.ReferenceOTU209
## base.8 0 0 0.000000 2.238014
## base.6 0 0 0.000000 2.532239
## base.4 0 0 0.000000 3.588494
## base.2 0 0 0.000000 2.086360
## base.1 0 0 2.176682 0.000000
## base.5 0 0 0.000000 2.299118
## New.ReferenceOTU38 361811 New.CleanUp.ReferenceOTU20893
## base.8 0.000000 0.000000 0
## base.6 3.401819 2.532239 0
## base.4 2.225420 6.219738 0
## base.2 0.000000 7.232187 0
## base.1 0.000000 0.000000 0
## base.5 4.060590 0.000000 0
## New.CleanUp.ReferenceOTU1993 New.ReferenceOTU282
## base.8 0.00000 2.238014
## base.6 0.00000 0.000000
## base.4 2.22542 0.000000
## base.2 2.08636 0.000000
## base.1 0.00000 3.007600
## base.5 0.00000 7.593629
## New.CleanUp.ReferenceOTU8703 New.CleanUp.ReferenceOTU33159 571178
## base.8 0 0.000000 3.076379
## base.6 0 0.000000 0.000000
## base.4 0 0.000000 2.225420
## base.2 0 0.000000 0.000000
## base.1 0 2.176682 0.000000
## base.5 0 0.000000 0.000000
## 2992312 New.ReferenceOTU232 New.CleanUp.ReferenceOTU30376
## base.8 0.000000 0.000000 2.238014
## base.6 0.000000 0.000000 0.000000
## base.4 3.062284 3.973233 0.000000
## base.2 0.000000 0.000000 2.086360
## base.1 0.000000 0.000000 2.176682
## base.5 0.000000 3.144558 0.000000
## New.ReferenceOTU211 New.ReferenceOTU236 New.ReferenceOTU47
## base.8 2.238014 0.000000 0
## base.6 0.000000 0.000000 0
## base.4 4.276672 2.225420 0
## base.2 3.424957 3.806016 0
## base.1 0.000000 0.000000 0
## base.5 0.000000 2.299118 0
## New.ReferenceOTU11
## base.8 2.238014
## base.6 0.000000
## base.4 0.000000
## base.2 2.086360
## base.1 0.000000
## base.5 0.000000
head(d1.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d1.5 0.000000 0.000000 0.000000 0.000000 0.000000 0 3.266140 0.000000
## d1.8 0.000000 2.555337 2.555337 0.000000 2.555337 0 4.358410 0.000000
## d1.4 2.068632 0.000000 0.000000 0.000000 0.000000 0 0.000000 0.000000
## d1.3 0.000000 0.000000 0.000000 0.000000 0.000000 0 0.000000 2.537965
## d1.7 0.000000 0.000000 0.000000 0.000000 0.000000 0 0.000000 0.000000
## d1.6 0.000000 2.865782 2.051252 6.314993 2.051252 0 5.019993 0.000000
## 40149 4426298 462585 509452 522433 588197 663226 703741
## d1.5 5.462820 0 0.000000 0 0.000000 0.000000 3.266140 6.128572
## d1.8 2.555337 0 0.000000 0 0.000000 0.000000 2.555337 7.877415
## d1.4 0.000000 0 0.000000 0 0.000000 2.068632 0.000000 5.410529
## d1.3 0.000000 0 3.408085 0 0.000000 0.000000 4.646074 7.558421
## d1.7 4.545126 0 0.000000 0 0.000000 0.000000 2.719532 7.810338
## d1.6 2.051252 0 0.000000 0 2.865782 0.000000 2.051252 5.681294
## 752354 761968 772384 804526 807795 851865 940433
## d1.5 3.266140 0.000000 0 3.266140 3.266140 0 3.266140
## d1.8 2.555337 2.555337 0 2.555337 4.666202 0 5.322808
## d1.4 0.000000 0.000000 0 0.000000 0.000000 0 0.000000
## d1.3 0.000000 0.000000 0 0.000000 4.899473 0 0.000000
## d1.7 0.000000 0.000000 0 0.000000 4.150542 0 6.307652
## d1.6 0.000000 0.000000 0 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d1.5 0.000000 0.000000
## d1.8 2.555337 2.555337
## d1.4 0.000000 0.000000
## d1.3 2.537965 0.000000
## d1.7 0.000000 0.000000
## d1.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d1.5 0 0.000000
## d1.8 0 3.427083
## d1.4 0 4.546229
## d1.3 0 0.000000
## d1.7 0 5.964688
## d1.6 0 4.063785
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d1.5 4.189143 0
## d1.8 4.919735 0
## d1.4 7.209111 0
## d1.3 0.000000 0
## d1.7 0.000000 0
## d1.6 3.383215 0
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d1.5 0 3.266140
## d1.8 0 0.000000
## d1.4 0 0.000000
## d1.3 0 0.000000
## d1.7 0 0.000000
## d1.6 0 2.865782
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d1.5 0 0.000000
## d1.8 0 0.000000
## d1.4 0 3.403904
## d1.3 0 3.408085
## d1.7 0 2.719532
## d1.6 0 2.051252
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d1.5 0 0
## d1.8 0 0
## d1.4 0 0
## d1.3 0 0
## d1.7 0 0
## d1.6 0 0
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d1.5 0.000000 4.747499
## d1.8 0.000000 3.427083
## d1.4 0.000000 4.731135
## d1.3 0.000000 4.899473
## d1.7 0.000000 4.545126
## d1.6 2.865782 5.153448
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d1.5 3.266140 0.000000
## d1.8 3.427083 2.555337
## d1.4 6.020097 0.000000
## d1.3 4.338479 0.000000
## d1.7 3.605635 0.000000
## d1.6 4.063785 2.865782
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d1.5 0.000000 0.000000
## d1.8 0.000000 3.427083
## d1.4 0.000000 0.000000
## d1.3 0.000000 0.000000
## d1.7 7.077651 0.000000
## d1.6 0.000000 2.051252
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d1.5 0.000000 0.000000
## d1.8 0.000000 0.000000
## d1.4 2.068632 5.789549
## d1.3 2.537965 0.000000
## d1.7 0.000000 3.605635
## d1.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d1.5 5.938870 0
## d1.8 9.610080 0
## d1.4 6.733779 0
## d1.3 6.528980 0
## d1.7 10.401898 0
## d1.6 3.383215 0
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d1.5 0 0.000000
## d1.8 0 0.000000
## d1.4 0 2.885531
## d1.3 0 0.000000
## d1.7 0 0.000000
## d1.6 0 0.000000
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 2.555337 0.000000
## d1.4 0.000000 2.885531 3.403904
## d1.3 3.947019 0.000000 2.537965
## d1.7 0.000000 2.719532 0.000000
## d1.6 2.051252 0.000000 0.000000
head(d2.sig)
## 1013234 25562 322505 333363 334485 344804 355312
## d2.3 0 3.071661 3.071661 3.071661 3.071661 0.000000 0.000000
## d2.5 0 0.000000 0.000000 0.000000 2.242250 2.242250 2.242250
## d2.2 0 1.701439 0.000000 2.460613 0.000000 0.000000 0.000000
## d2.6 0 0.000000 0.000000 0.000000 1.792045 0.000000 0.000000
## d2.1 0 0.000000 0.000000 0.000000 0.000000 3.777353 0.000000
## d2.4 0 0.000000 0.000000 6.202605 2.398762 0.000000 5.137013
## 366352 40149 4426298 462585 509452 522433 588197
## d2.3 0.000000 2.233797 0.000000 0.000000 0.000000 0.000000 0.000000
## d2.5 0.000000 0.000000 5.111953 0.000000 0.000000 4.761254 0.000000
## d2.2 3.616035 0.000000 3.616035 2.955454 0.000000 3.323227 0.000000
## d2.6 0.000000 3.068527 1.792045 0.000000 0.000000 0.000000 3.068527
## d2.1 0.000000 0.000000 7.093742 0.000000 0.000000 0.000000 4.723762
## d2.4 0.000000 4.483333 0.000000 0.000000 2.398762 2.398762 4.177441
## 663226 703741 752354 761968 772384 804526 807795
## d2.3 4.537434 3.598259 3.071661 0.000000 0.000000 4.537434 0.000000
## d2.5 2.242250 3.993255 0.000000 5.393855 0.000000 2.242250 0.000000
## d2.2 1.701439 6.001421 3.323227 0.000000 1.701439 0.000000 2.460613
## d2.6 4.189143 4.371868 1.792045 0.000000 0.000000 0.000000 0.000000
## d2.1 0.000000 4.165844 0.000000 2.388820 0.000000 0.000000 0.000000
## d2.4 3.788739 3.788739 0.000000 0.000000 0.000000 0.000000 0.000000
## 851865 940433 New.CleanUp.ReferenceOTU12183
## d2.3 2.233797 0.000000 0.000000
## d2.5 4.547700 0.000000 0.000000
## d2.2 4.249295 1.701439 1.701439
## d2.6 0.000000 0.000000 1.792045
## d2.1 0.000000 0.000000 3.777353
## d2.4 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU1304 New.CleanUp.ReferenceOTU13337
## d2.3 0.000000 0.000000
## d2.5 0.000000 0.000000
## d2.2 1.701439 0.000000
## d2.6 0.000000 3.439918
## d2.1 4.165844 0.000000
## d2.4 2.398762 2.398762
## New.CleanUp.ReferenceOTU17738 New.CleanUp.ReferenceOTU18040
## d2.3 2.233797 0.000000
## d2.5 0.000000 0.000000
## d2.2 0.000000 1.701439
## d2.6 3.068527 0.000000
## d2.1 0.000000 0.000000
## d2.4 4.483333 0.000000
## New.CleanUp.ReferenceOTU18718 New.CleanUp.ReferenceOTU19840
## d2.3 0 0.00000
## d2.5 0 0.00000
## d2.2 0 0.00000
## d2.6 0 0.00000
## d2.1 0 2.38882
## d2.4 0 0.00000
## New.CleanUp.ReferenceOTU20191 New.CleanUp.ReferenceOTU20505
## d2.3 0.000000 0
## d2.5 3.081116 0
## d2.2 0.000000 0
## d2.6 6.128572 0
## d2.1 0.000000 0
## d2.4 3.255049 0
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU21558
## d2.3 2.233797 0.000000
## d2.5 2.242250 3.993255
## d2.2 2.460613 2.460613
## d2.6 0.000000 0.000000
## d2.1 0.000000 3.244061
## d2.4 2.398762 0.000000
## New.CleanUp.ReferenceOTU26853 New.CleanUp.ReferenceOTU27722
## d2.3 0.000000 0.000000
## d2.5 0.000000 0.000000
## d2.2 1.701439 2.460613
## d2.6 1.792045 2.567085
## d2.1 0.000000 0.000000
## d2.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU29128
## d2.3 2.233797 3.598259
## d2.5 2.242250 0.000000
## d2.2 2.460613 0.000000
## d2.6 0.000000 0.000000
## d2.1 0.000000 0.000000
## d2.4 2.398762 3.255049
## New.CleanUp.ReferenceOTU30475 New.CleanUp.ReferenceOTU31330
## d2.3 0.000000 0.000000
## d2.5 0.000000 2.242250
## d2.2 2.955454 1.701439
## d2.6 0.000000 1.792045
## d2.1 0.000000 0.000000
## d2.4 3.255049 0.000000
## New.CleanUp.ReferenceOTU35079 New.CleanUp.ReferenceOTU4103
## d2.3 0 0.000000
## d2.5 0 3.081116
## d2.2 0 1.701439
## d2.6 0 0.000000
## d2.1 0 5.696201
## d2.4 0 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU5717
## d2.3 0.00000 3.071661
## d2.5 0.00000 0.000000
## d2.2 0.00000 0.000000
## d2.6 0.00000 0.000000
## d2.1 2.38882 0.000000
## d2.4 0.00000 2.398762
## New.CleanUp.ReferenceOTU6585 New.CleanUp.ReferenceOTU6995
## d2.3 3.598259 0
## d2.5 0.000000 0
## d2.2 0.000000 0
## d2.6 1.792045 0
## d2.1 0.000000 0
## d2.4 3.788739 0
## New.CleanUp.ReferenceOTU9245 New.ReferenceOTU159 New.ReferenceOTU243
## d2.3 2.233797 0.000000 0.00000
## d2.5 0.000000 0.000000 0.00000
## d2.2 3.323227 3.323227 0.00000
## d2.6 0.000000 4.933414 0.00000
## d2.1 0.000000 2.388820 2.38882
## d2.4 0.000000 0.000000 0.00000
## New.ReferenceOTU98
## d2.3 0.000000
## d2.5 0.000000
## d2.2 4.687888
## d2.6 1.792045
## d2.1 4.471606
## d2.4 2.398762
head(d3.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d3.5 0 2.624793 0 0.000000 0 2.624793 0.000000 0.000000
## d3.2 0 0.000000 0 4.420089 0 2.609292 0.000000 0.000000
## d3.4 0 0.000000 0 0.000000 0 0.000000 0.000000 2.299118
## d3.3 0 0.000000 0 0.000000 0 0.000000 0.000000 0.000000
## d3.8 0 3.443148 0 0.000000 0 0.000000 1.794576 0.000000
## d3.6 0 0.000000 0 0.000000 0 2.034207 0.000000 0.000000
## 40149 4426298 462585 509452 522433 588197 663226
## d3.5 0.000000 4.044733 0.000000 2.624793 0.00000 4.878910 0.000000
## d3.2 0.000000 3.485952 0.000000 0.000000 0.00000 2.609292 2.609292
## d3.4 0.000000 5.902641 2.299118 0.000000 4.06059 0.000000 0.000000
## d3.3 2.561194 0.000000 2.561194 0.000000 0.00000 0.000000 0.000000
## d3.8 0.000000 4.375254 0.000000 1.794576 0.00000 0.000000 0.000000
## d3.6 0.000000 4.851188 0.000000 0.000000 0.00000 3.362880 0.000000
## 703741 752354 761968 772384 804526 807795 851865
## d3.5 7.802337 0.000000 1.841562 0.000000 0.000000 5.112355 3.129603
## d3.2 5.959411 2.609292 2.609292 0.000000 2.609292 0.000000 0.000000
## d3.4 5.329686 0.000000 0.000000 0.000000 0.000000 3.144558 2.299118
## d3.3 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 4.365122
## d3.8 3.071661 0.000000 3.071661 1.794576 0.000000 0.000000 1.794576
## d3.6 3.362880 0.000000 0.000000 0.000000 2.034207 0.000000 0.000000
## 940433 New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d3.5 3.129603 2.624793 2.624793
## d3.2 0.000000 0.000000 0.000000
## d3.4 2.299118 0.000000 0.000000
## d3.3 0.000000 2.561194 0.000000
## d3.8 0.000000 0.000000 1.794576
## d3.6 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d3.5 0.000000 0
## d3.2 0.000000 0
## d3.4 0.000000 0
## d3.3 3.433483 0
## d3.8 0.000000 0
## d3.6 0.000000 0
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d3.5 0.000000 1.841562
## d3.2 3.485952 0.000000
## d3.4 4.616441 2.299118
## d3.3 2.561194 0.000000
## d3.8 4.375254 0.000000
## d3.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d3.5 0.000000 1.841562
## d3.2 0.000000 0.000000
## d3.4 0.000000 0.000000
## d3.3 0.000000 0.000000
## d3.8 3.738301 1.794576
## d3.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d3.5 1.841562 0.000000
## d3.2 0.000000 0.000000
## d3.4 0.000000 4.365122
## d3.3 0.000000 2.561194
## d3.8 2.570043 4.192506
## d3.6 2.034207 4.502829
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d3.5 0.000000 1.841562
## d3.2 0.000000 0.000000
## d3.4 0.000000 0.000000
## d3.3 0.000000 0.000000
## d3.8 1.794576 0.000000
## d3.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d3.5 0 0
## d3.2 0 0
## d3.4 0 0
## d3.3 0 0
## d3.8 0 0
## d3.6 0 0
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d3.5 0.000000 0.000000
## d3.2 0.000000 0.000000
## d3.4 2.299118 2.299118
## d3.3 2.561194 0.000000
## d3.8 1.794576 3.738301
## d3.6 2.846383 2.034207
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d3.5 0.000000 2.624793
## d3.2 2.609292 0.000000
## d3.4 2.299118 0.000000
## d3.3 0.000000 0.000000
## d3.8 2.570043 3.738301
## d3.6 2.846383 0.000000
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d3.5 1.841562 0.000000
## d3.2 2.609292 0.000000
## d3.4 0.000000 0.000000
## d3.3 0.000000 2.561194
## d3.8 2.570043 0.000000
## d3.6 4.502829 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d3.5 3.129603 2.624793
## d3.2 0.000000 0.000000
## d3.4 2.299118 0.000000
## d3.3 0.000000 2.561194
## d3.8 2.570043 3.071661
## d3.6 0.000000 0.000000
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d3.5 0.000000 2.624793
## d3.2 0.000000 3.485952
## d3.4 0.000000 0.000000
## d3.3 0.000000 0.000000
## d3.8 1.794576 0.000000
## d3.6 2.034207 0.000000
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d3.5 0.000000 1.841562 0.000000
## d3.2 0.000000 0.000000 0.000000
## d3.4 0.000000 0.000000 0.000000
## d3.3 0.000000 0.000000 3.433483
## d3.8 1.794576 0.000000 3.443148
## d3.6 4.042633 2.034207 4.851188
head(d4.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d4.7 4.407393 3.062284 0 0.000000 1.504994 0.000000 0.000000 0.000000
## d4.3 2.272447 0.000000 0 0.000000 3.114839 0.000000 4.029070 6.348016
## d4.4 0.000000 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000
## d4.8 0.000000 4.497148 0 3.034611 0.000000 1.484685 2.200731 0.000000
## d4.5 0.000000 0.000000 0 5.544179 0.000000 0.000000 0.000000 0.000000
## d4.2 0.000000 0.000000 0 0.000000 2.126644 0.000000 0.000000 2.951216
## 40149 4426298 462585 509452 522433 588197 663226
## d4.7 0.000000 0.000000 0.000000 3.349249 0.000000 0.000000 0.000000
## d4.3 2.272447 0.000000 0.000000 3.114839 3.114839 2.272447 0.000000
## d4.4 0.000000 0.000000 0.000000 0.000000 0.000000 2.137950 0.000000
## d4.8 2.677099 4.103250 0.000000 3.943780 0.000000 5.522433 4.806242
## d4.5 3.340907 3.340907 0.000000 2.476695 2.476695 4.267898 0.000000
## d4.2 0.000000 0.000000 4.156641 4.804055 0.000000 2.951216 0.000000
## 703741 752354 761968 772384 804526 807795 851865 940433
## d4.7 4.740674 1.504994 0.000000 1.504994 0.000000 0.000000 1.504994 0
## d4.3 6.278512 0.000000 0.000000 0.000000 0.000000 2.272447 0.000000 0
## d4.4 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 2.137950 0
## d4.8 8.413324 0.000000 6.152668 1.484685 1.484685 5.780227 5.577809 0
## d4.5 5.395607 0.000000 2.476695 2.476695 4.267898 0.000000 2.476695 0
## d4.2 5.484494 2.126644 0.000000 2.951216 0.000000 3.472619 0.000000 0
## New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d4.7 4.407393 0.00000
## d4.3 0.000000 0.00000
## d4.4 2.137950 2.13795
## d4.8 6.418399 0.00000
## d4.5 0.000000 0.00000
## d4.2 0.000000 0.00000
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d4.7 0 3.588494
## d4.3 0 0.000000
## d4.4 0 0.000000
## d4.8 0 1.484685
## d4.5 0 0.000000
## d4.2 0 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d4.7 0.000000 2.225420
## d4.3 0.000000 0.000000
## d4.4 0.000000 0.000000
## d4.8 2.200731 0.000000
## d4.5 4.827680 0.000000
## d4.2 0.000000 2.126644
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d4.7 3.973233 5.372993
## d4.3 2.272447 0.000000
## d4.4 2.137950 0.000000
## d4.8 5.342283 2.200731
## d4.5 3.340907 0.000000
## d4.2 0.000000 2.126644
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d4.7 4.836607 0.000000
## d4.3 0.000000 0.000000
## d4.4 0.000000 2.137950
## d4.8 3.034611 2.200731
## d4.5 0.000000 3.340907
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d4.7 1.504994 0.000000
## d4.3 0.000000 0.000000
## d4.4 0.000000 0.000000
## d4.8 0.000000 1.484685
## d4.5 0.000000 0.000000
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d4.7 1.504994 0.000000
## d4.3 0.000000 0.000000
## d4.4 0.000000 0.000000
## d4.8 2.200731 2.200731
## d4.5 0.000000 2.476695
## d4.2 3.472619 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d4.7 0.000000 0.000000
## d4.3 0.000000 2.272447
## d4.4 2.137950 2.963977
## d4.8 2.677099 2.677099
## d4.5 0.000000 3.340907
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d4.7 0.000000 3.793651
## d4.3 0.000000 0.000000
## d4.4 0.000000 0.000000
## d4.8 0.000000 3.034611
## d4.5 3.340907 0.000000
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d4.7 2.225420 1.504994
## d4.3 0.000000 2.272447
## d4.4 0.000000 2.137950
## d4.8 3.320890 3.034611
## d4.5 5.544179 0.000000
## d4.2 2.951216 2.126644
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d4.7 4.132915 0.00000
## d4.3 4.029070 0.00000
## d4.4 0.000000 0.00000
## d4.8 4.103250 3.94378
## d4.5 2.476695 0.00000
## d4.2 0.000000 0.00000
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d4.7 2.225420 0.000000
## d4.3 0.000000 0.000000
## d4.4 0.000000 4.632822
## d4.8 1.484685 1.484685
## d4.5 0.000000 0.000000
## d4.2 0.000000 2.126644
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d4.7 3.062284 3.793651 0.000000
## d4.3 3.114839 0.000000 3.643193
## d4.4 0.000000 0.000000 0.000000
## d4.8 3.943780 1.484685 1.484685
## d4.5 0.000000 2.476695 0.000000
## d4.2 0.000000 0.000000 4.618769
head(d5.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d5.6 2.408806 0 1.657719 3.800230 0.000000 0.000000 0.000000 0.000000
## d5.5 2.383887 0 0.000000 2.383887 2.383887 0.000000 0.000000 0.000000
## d5.8 0.000000 0 2.229599 0.000000 0.000000 2.229599 5.907866 0.000000
## d5.2 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 5.974742
## d5.4 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 2.995800
## d5.1 0.000000 0 0.000000 0.000000 0.000000 0.000000 3.427083 0.000000
## 40149 4426298 462585 509452 522433 588197 663226
## d5.6 2.408806 0.000000 0.000000 1.657719 0.000000 3.266140 1.657719
## d5.5 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## d5.8 2.229599 2.229599 0.000000 0.000000 0.000000 3.593367 2.229599
## d5.2 0.000000 3.810373 4.360643 0.000000 2.909707 4.111586 0.000000
## d5.4 3.364898 0.000000 0.000000 0.000000 2.498548 1.733607 3.364898
## d5.1 0.000000 3.056076 4.520499 0.000000 0.000000 3.056076 1.781999
## 703741 752354 761968 772384 804526 807795 851865
## d5.6 4.858838 0.000000 3.557761 0.000000 0.000000 0.000000 2.900242
## d5.5 0.000000 0.000000 0.000000 0.000000 2.383887 0.000000 0.000000
## d5.8 3.066963 3.593367 0.000000 2.229599 0.000000 0.000000 3.593367
## d5.2 6.885865 2.089949 0.000000 0.000000 0.000000 2.909707 4.572969
## d5.4 5.165258 2.995800 0.000000 1.733607 0.000000 1.733607 4.110954
## d5.1 5.488722 3.056076 0.000000 0.000000 0.000000 3.056076 6.586794
## 940433 New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d5.6 0.000000 1.657719 0
## d5.5 0.000000 0.000000 0
## d5.8 0.000000 0.000000 0
## d5.2 0.000000 0.000000 0
## d5.4 1.733607 0.000000 0
## d5.1 1.781999 3.056076 0
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d5.6 0.000000 2.408806
## d5.5 2.383887 2.383887
## d5.8 2.229599 0.000000
## d5.2 3.429212 0.000000
## d5.4 0.000000 3.902410
## d5.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d5.6 0.000000 0.000000
## d5.5 2.383887 0.000000
## d5.8 2.229599 0.000000
## d5.2 0.000000 2.089949
## d5.4 0.000000 0.000000
## d5.1 3.056076 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d5.6 0 3.557761
## d5.5 0 2.383887
## d5.8 0 0.000000
## d5.2 0 3.429212
## d5.4 0 2.498548
## d5.1 0 0.000000
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d5.6 0 0.000000
## d5.5 0 0.000000
## d5.8 0 0.000000
## d5.2 0 0.000000
## d5.4 0 5.767876
## d5.1 0 0.000000
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d5.6 0.000000 0.000000
## d5.5 0.000000 0.000000
## d5.8 0.000000 0.000000
## d5.2 0.000000 0.000000
## d5.4 0.000000 0.000000
## d5.1 3.427083 3.721933
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d5.6 0.000000 2.408806
## d5.5 0.000000 0.000000
## d5.8 0.000000 0.000000
## d5.2 2.089949 2.089949
## d5.4 0.000000 0.000000
## d5.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d5.6 0.000000 0.000000
## d5.5 3.238606 0.000000
## d5.8 0.000000 3.066963
## d5.2 0.000000 0.000000
## d5.4 4.853346 3.658544
## d5.1 0.000000 2.555337
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d5.6 2.408806 0
## d5.5 0.000000 0
## d5.8 0.000000 0
## d5.2 0.000000 0
## d5.4 0.000000 0
## d5.1 0.000000 0
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d5.6 0.000000 0.000000
## d5.5 3.238606 2.383887
## d5.8 0.000000 0.000000
## d5.2 3.429212 0.000000
## d5.4 2.498548 0.000000
## d5.1 3.056076 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d5.6 2.408806 0.000000
## d5.5 2.383887 0.000000
## d5.8 0.000000 0.000000
## d5.2 0.000000 0.000000
## d5.4 0.000000 1.733607
## d5.1 0.000000 1.781999
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d5.6 0 0.000000
## d5.5 0 0.000000
## d5.8 0 0.000000
## d5.2 0 0.000000
## d5.4 0 3.364898
## d5.1 0 3.427083
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d5.6 1.657719 0 0
## d5.5 0.000000 0 0
## d5.8 0.000000 0 0
## d5.2 0.000000 0 0
## d5.4 0.000000 0 0
## d5.1 4.798531 0 0
head(d6.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d6.8 0.000000 0.000000 3.288644 0.000000 0 2.429205 3.823535 0.000000
## d6.6 0.000000 0.000000 3.668885 2.294621 0 0.000000 3.668885 0.000000
## d6.7 2.812313 2.004339 0.000000 2.004339 0 0.000000 0.000000 0.000000
## d6.3 0.000000 1.997839 0.000000 0.000000 0 2.804885 0.000000 6.765328
## d6.4 0.000000 0.000000 1.981799 0.000000 0 0.000000 0.000000 0.000000
## d6.1 0.000000 0.000000 0.000000 0.000000 0 1.891430 3.565610 7.377745
## 40149 4426298 462585 509452 522433 588197 663226 703741
## d6.8 3.288644 0.000000 2.429205 0 2.429205 2.429205 4.986491 3.288644
## d6.6 5.324181 0.000000 2.294621 0 3.668885 0.000000 6.233020 4.824959
## d6.7 3.705778 0.000000 2.812313 0 2.812313 2.004339 5.620374 5.215080
## d6.3 0.000000 4.641089 0.000000 0 1.997839 0.000000 0.000000 4.641089
## d6.4 3.977212 0.000000 1.981799 0 1.981799 0.000000 0.000000 1.981799
## d6.1 0.000000 3.565610 5.713985 0 1.891430 0.000000 3.862961 4.945341
## 752354 761968 772384 804526 807795 851865 940433
## d6.8 0.000000 2.429205 5.338912 4.986491 2.429205 5.173436 3.288644
## d6.6 0.000000 0.000000 3.139551 5.176173 0.000000 0.000000 2.294621
## d6.7 2.004339 0.000000 2.004339 2.004339 2.004339 4.005422 3.327133
## d6.3 2.804885 1.997839 0.000000 3.319334 0.000000 0.000000 2.804885
## d6.4 1.981799 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## d6.1 0.000000 0.000000 3.862961 3.565610 1.891430 6.212778 0.000000
## New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d6.8 0.000000 0
## d6.6 0.000000 0
## d6.7 0.000000 0
## d6.3 0.000000 0
## d6.4 1.981799 0
## d6.1 0.000000 0
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d6.8 0.000000 0.000000
## d6.6 0.000000 3.139551
## d6.7 2.004339 0.000000
## d6.3 0.000000 0.000000
## d6.4 0.000000 0.000000
## d6.1 1.891430 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d6.8 0.000000 0.000000
## d6.6 0.000000 0.000000
## d6.7 0.000000 0.000000
## d6.3 1.997839 0.000000
## d6.4 0.000000 0.000000
## d6.1 0.000000 2.682585
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d6.8 0 0.000000
## d6.6 0 0.000000
## d6.7 0 6.005692
## d6.3 0 0.000000
## d6.4 0 0.000000
## d6.1 0 3.565610
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d6.8 0 0.00000
## d6.6 0 0.00000
## d6.7 0 0.00000
## d6.3 0 0.00000
## d6.4 0 0.00000
## d6.1 0 1.89143
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d6.8 0.000000 0.000000
## d6.6 2.294621 0.000000
## d6.7 0.000000 0.000000
## d6.3 1.997839 0.000000
## d6.4 1.981799 0.000000
## d6.1 0.000000 2.682585
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d6.8 0 0
## d6.6 0 0
## d6.7 0 0
## d6.3 0 0
## d6.4 0 0
## d6.1 0 0
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d6.8 2.429205 0.000000
## d6.6 2.294621 0.000000
## d6.7 4.005422 0.000000
## d6.3 4.245197 2.804885
## d6.4 4.620517 0.000000
## d6.1 0.000000 1.891430
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d6.8 0 0
## d6.6 0 0
## d6.7 0 0
## d6.3 0 0
## d6.4 0 0
## d6.1 0 0
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d6.8 0.000000 0.000000
## d6.6 0.000000 0.000000
## d6.7 0.000000 0.000000
## d6.3 3.997298 1.997839
## d6.4 0.000000 0.000000
## d6.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d6.8 0.000000 0.000000
## d6.6 0.000000 0.000000
## d6.7 3.327133 0.000000
## d6.3 0.000000 0.000000
## d6.4 3.300059 1.981799
## d6.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d6.8 0.000000 0.000000
## d6.6 0.000000 0.000000
## d6.7 2.004339 2.812313
## d6.3 0.000000 0.000000
## d6.4 0.000000 0.000000
## d6.1 0.000000 0.000000
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d6.8 0.000000 0 2.429205
## d6.6 2.294621 0 0.000000
## d6.7 2.004339 0 0.000000
## d6.3 0.000000 0 0.000000
## d6.4 0.000000 0 1.981799
## d6.1 3.862961 0 1.891430
head(d7.sig)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d7.7 1.690270 0 0.00000 4.540506 3.308694 0 1.69027 0
## d7.3 0.000000 0 1.92049 4.983708 0.000000 0 0.00000 0
## d7.4 1.962938 0 0.00000 1.962938 0.000000 0 0.00000 0
## d7.2 0.000000 0 0.00000 0.000000 0.000000 0 0.00000 0
## d7.8 0.000000 0 0.00000 0.000000 0.000000 0 0.00000 0
## d7.1 0.000000 0 0.00000 0.000000 0.000000 0 0.00000 0
## 40149 4426298 462585 509452 522433 588197 663226 703741
## d7.7 5.008110 0 0.000000 0.000000 0 2.447405 6.219104 3.844288
## d7.3 4.983708 0 0.000000 0.000000 0 2.716120 5.217684 4.146744
## d7.4 0.000000 0 0.000000 2.764920 0 0.000000 0.000000 1.962938
## d7.2 2.712718 0 4.537434 1.917538 0 0.000000 0.000000 0.000000
## d7.8 0.000000 0 0.000000 0.000000 0 0.000000 2.047816 0.000000
## d7.1 0.000000 0 0.000000 0.000000 0 0.000000 0.000000 4.023892
## 752354 761968 772384 804526 807795 851865 940433
## d7.7 1.69027 3.601204 0 1.69027 1.69027 2.447405 0
## d7.3 0.00000 0.000000 0 1.92049 0.00000 3.899908 0
## d7.4 0.00000 0.000000 0 0.00000 0.00000 3.277338 0
## d7.2 0.00000 0.000000 0 0.00000 0.00000 4.142958 0
## d7.8 0.00000 0.000000 0 0.00000 0.00000 0.000000 0
## d7.1 0.00000 0.000000 0 0.00000 0.00000 2.268073 0
## New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d7.7 3.601204 0.000000
## d7.3 0.000000 0.000000
## d7.4 0.000000 0.000000
## d7.2 1.917538 0.000000
## d7.8 2.861874 2.047816
## d7.1 0.000000 3.638118
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d7.7 2.941391 2.447405
## d7.3 0.000000 0.000000
## d7.4 0.000000 0.000000
## d7.2 0.000000 0.000000
## d7.8 0.000000 0.000000
## d7.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d7.7 0.000000 0
## d7.3 0.000000 0
## d7.4 0.000000 0
## d7.2 0.000000 0
## d7.8 4.520018 0
## d7.1 0.000000 0
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d7.7 0.000000 5.360683
## d7.3 1.920490 0.000000
## d7.4 0.000000 5.161187
## d7.2 0.000000 3.598259
## d7.8 2.047816 0.000000
## d7.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d7.7 0 2.447405
## d7.3 0 1.920490
## d7.4 0 0.000000
## d7.2 0 0.000000
## d7.8 0 0.000000
## d7.1 0 0.000000
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d7.7 1.69027 1.690270
## d7.3 0.00000 1.920490
## d7.4 0.00000 0.000000
## d7.2 0.00000 2.712718
## d7.8 0.00000 0.000000
## d7.1 0.00000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d7.7 0 0.000000
## d7.3 0 0.000000
## d7.4 0 0.000000
## d7.2 0 1.917538
## d7.8 0 2.047816
## d7.1 0 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d7.7 2.447405 0.000000
## d7.3 3.225976 0.000000
## d7.4 0.000000 3.654688
## d7.2 3.896164 0.000000
## d7.8 0.000000 0.000000
## d7.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d7.7 1.69027 1.690270
## d7.3 0.00000 1.920490
## d7.4 0.00000 1.962938
## d7.2 0.00000 0.000000
## d7.8 3.37912 0.000000
## d7.1 0.00000 0.000000
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d7.7 0.000000 0.000000
## d7.3 3.225976 0.000000
## d7.4 0.000000 0.000000
## d7.2 0.000000 0.000000
## d7.8 0.000000 2.047816
## d7.1 2.268073 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d7.7 5.578051 0.000000
## d7.3 0.000000 0.000000
## d7.4 0.000000 3.277338
## d7.2 0.000000 0.000000
## d7.8 0.000000 2.861874
## d7.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d7.7 3.601204 0
## d7.3 0.000000 0
## d7.4 1.962938 0
## d7.2 0.000000 0
## d7.8 2.047816 0
## d7.1 0.000000 0
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d7.7 4.672362 0.000000 0.000000
## d7.3 1.920490 0.000000 0.000000
## d7.4 1.962938 0.000000 0.000000
## d7.2 0.000000 0.000000 0.000000
## d7.8 0.000000 0.000000 2.047816
## d7.1 0.000000 2.268073 2.268073
##Calculating relative abundance data at an OTU level
#Read in the raw OTU table containing all samples (doesn't contain taxonomy)
otu.full.table <- read.table("dss.feces/str.otus.txt", sep = "\t", header = T, check.names = F)
colnames(otu.full.table)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "16" "35" "10"
## [34] "13" "57" "398" "197" "27" "37" "83" "2" "33" "71" "68"
## [45] "65" "1" "130" "206" "243" "135" "36" "5" "67" "3" "41"
## [56] "7" "45" "60" "51" "49" "235" "218" "23" "46" "25" "247"
## [67] "248" "128" "43" "39" "129" "53" "388" "50" "61" "56" "12"
## [78] "58" "22" "30" "11" "9" "18" "42" "59" "40" "52" "34"
## [89] "47" "62" "17" "15" "14"
##Renaming Sample labels from barcode number to time point and replicate number identifier for easier delineation later.
colnames(otu.full.table) <- c("d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "base2.8", "d3.2", "base2.2", "base2.5", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "base2.4", "d6.1", "d1.6", "d2.4", "base2.3", "base2.1", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1", "base2.7", "base2.6")
colnames(otu.full.table)
## [1] "d7.7" "d10.3" "d10.2" "d5.6" "d5.5"
## [6] "d7.3" "d1.5" "d6.8" "ff.d10.6" "ff.base.4"
## [11] "d4.7" "d1.8" "base.8" "base.6" "d9.3"
## [16] "d2.3" "d4.3" "base.4" "d8.4" "d8.3"
## [21] "d8.2" "d2.5" "d9.4" "d1.4" "d1.3"
## [26] "d6.6" "d7.4" "d9.2" "d3.5" "d10.4"
## [31] "base2.8" "d3.2" "base2.2" "base2.5" "d5.8"
## [36] "ff.base.5" "ff.base.1" "d2.2" "d3.4" "d9.1"
## [41] "base.2" "d2.6" "d8.1" "d7.2" "d6.7"
## [46] "base.1" "d10.1" "ff.base.2" "ff.d10.2" "d7.8"
## [51] "d3.3" "base.5" "d7.1" "base.3" "d3.8"
## [56] "base.7" "d4.4" "d6.3" "d5.2" "d4.8"
## [61] "ff.d10.1" "ff.base.3" "d1.7" "d4.5" "d2.1"
## [66] "ff.d10.3" "ff.d10.4" "d7.5" "d4.2" "d3.6"
## [71] "d7.6" "d5.4" "ff.d10.5" "d5.1" "d6.4"
## [76] "d5.7" "base2.4" "d6.1" "d1.6" "d2.4"
## [81] "base2.3" "base2.1" "d1.2" "d4.1" "d6.2"
## [86] "d3.7" "d5.3" "d3.1" "d4.6" "d6.5"
## [91] "d1.1" "base2.7" "base2.6"
##Subset OTU table to samples in the model
otu.abund.dss <- otu.full.table[,which(colnames(otu.full.table) %in% rownames(dss.sig.counts.tbl))]
head(dss.sig.counts.tbl)
## 1013234 25562 322505 333363 334485 344804 355312 366352
## d7.7 1.690270 0 0.000000 4.540506 3.308694 0.000000 1.690270 0
## d5.6 2.408806 0 1.657719 3.800230 0.000000 0.000000 0.000000 0
## d5.5 2.383887 0 0.000000 2.383887 2.383887 0.000000 0.000000 0
## d7.3 0.000000 0 1.920490 4.983708 0.000000 0.000000 0.000000 0
## d1.5 0.000000 0 0.000000 0.000000 0.000000 0.000000 3.266140 0
## d6.8 0.000000 0 3.288644 0.000000 0.000000 2.429205 3.823535 0
## 40149 4426298 462585 509452 522433 588197 663226
## d7.7 5.008110 0 0.000000 0.000000 0.000000 2.447405 6.219104
## d5.6 2.408806 0 0.000000 1.657719 0.000000 3.266140 1.657719
## d5.5 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000
## d7.3 4.983708 0 0.000000 0.000000 0.000000 2.716120 5.217684
## d1.5 5.462820 0 0.000000 0.000000 0.000000 0.000000 3.266140
## d6.8 3.288644 0 2.429205 0.000000 2.429205 2.429205 4.986491
## 703741 752354 761968 772384 804526 807795 851865
## d7.7 3.844288 1.69027 3.601204 0.000000 1.690270 1.690270 2.447405
## d5.6 4.858838 0.00000 3.557761 0.000000 0.000000 0.000000 2.900242
## d5.5 0.000000 0.00000 0.000000 0.000000 2.383887 0.000000 0.000000
## d7.3 4.146744 0.00000 0.000000 0.000000 1.920490 0.000000 3.899908
## d1.5 6.128572 3.26614 0.000000 0.000000 3.266140 3.266140 0.000000
## d6.8 3.288644 0.00000 2.429205 5.338912 4.986491 2.429205 5.173436
## 940433 New.CleanUp.ReferenceOTU12183 New.CleanUp.ReferenceOTU1304
## d7.7 0.000000 3.601204 0
## d5.6 0.000000 1.657719 0
## d5.5 0.000000 0.000000 0
## d7.3 0.000000 0.000000 0
## d1.5 3.266140 0.000000 0
## d6.8 3.288644 0.000000 0
## New.CleanUp.ReferenceOTU13337 New.CleanUp.ReferenceOTU17738
## d7.7 2.941391 2.447405
## d5.6 0.000000 2.408806
## d5.5 2.383887 2.383887
## d7.3 0.000000 0.000000
## d1.5 0.000000 0.000000
## d6.8 0.000000 0.000000
## New.CleanUp.ReferenceOTU18040 New.CleanUp.ReferenceOTU18718
## d7.7 0.000000 0
## d5.6 0.000000 0
## d5.5 2.383887 0
## d7.3 0.000000 0
## d1.5 4.189143 0
## d6.8 0.000000 0
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU20191
## d7.7 0.00000 5.360683
## d5.6 0.00000 3.557761
## d5.5 0.00000 2.383887
## d7.3 1.92049 0.000000
## d1.5 0.00000 3.266140
## d6.8 0.00000 0.000000
## New.CleanUp.ReferenceOTU20505 New.CleanUp.ReferenceOTU2054
## d7.7 0 2.447405
## d5.6 0 0.000000
## d5.5 0 0.000000
## d7.3 0 1.920490
## d1.5 0 0.000000
## d6.8 0 0.000000
## New.CleanUp.ReferenceOTU21558 New.CleanUp.ReferenceOTU26853
## d7.7 1.69027 1.69027
## d5.6 0.00000 0.00000
## d5.5 0.00000 0.00000
## d7.3 0.00000 1.92049
## d1.5 0.00000 0.00000
## d6.8 0.00000 0.00000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU2842
## d7.7 0 0.000000
## d5.6 0 2.408806
## d5.5 0 0.000000
## d7.3 0 0.000000
## d1.5 0 4.747499
## d6.8 0 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU30475
## d7.7 2.447405 0
## d5.6 0.000000 0
## d5.5 3.238606 0
## d7.3 3.225976 0
## d1.5 3.266140 0
## d6.8 2.429205 0
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU35079
## d7.7 1.690270 1.69027
## d5.6 2.408806 0.00000
## d5.5 0.000000 0.00000
## d7.3 0.000000 1.92049
## d1.5 0.000000 0.00000
## d6.8 0.000000 0.00000
## New.CleanUp.ReferenceOTU4103 New.CleanUp.ReferenceOTU5590
## d7.7 0.000000 0.000000
## d5.6 0.000000 0.000000
## d5.5 3.238606 2.383887
## d7.3 3.225976 0.000000
## d1.5 0.000000 0.000000
## d6.8 0.000000 0.000000
## New.CleanUp.ReferenceOTU5717 New.CleanUp.ReferenceOTU6585
## d7.7 5.578051 0
## d5.6 2.408806 0
## d5.5 2.383887 0
## d7.3 0.000000 0
## d1.5 5.938870 0
## d6.8 0.000000 0
## New.CleanUp.ReferenceOTU6995 New.CleanUp.ReferenceOTU9245
## d7.7 3.601204 0
## d5.6 0.000000 0
## d5.5 0.000000 0
## d7.3 0.000000 0
## d1.5 0.000000 0
## d6.8 0.000000 0
## New.ReferenceOTU159 New.ReferenceOTU243 New.ReferenceOTU98
## d7.7 4.672362 0 0.000000
## d5.6 1.657719 0 0.000000
## d5.5 0.000000 0 0.000000
## d7.3 1.920490 0 0.000000
## d1.5 0.000000 0 0.000000
## d6.8 0.000000 0 2.429205
# Convert OTU table to relative abundance table by taking proportions of total
dss.relabund.tbl <- sweep(otu.abund.dss,2,colSums(otu.abund.dss),`/`) * 100
head(dss.relabund.tbl)
## d7.7 d5.6 d5.5 d7.3
## New.CleanUp.ReferenceOTU10212 0.01223990 0.00000000 0.000000000 0.0000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.02007025 0.009938382 0.0121551
## New.ReferenceOTU33 0.05507956 0.01003512 0.059630292 0.1944816
## New.ReferenceOTU122 0.22643819 0.04014049 0.049691910 0.4254285
## 360329 0.01835985 0.00000000 0.039753528 0.0000000
## New.CleanUp.ReferenceOTU20966 0.01223990 0.06021074 0.417412045 0.0364653
## d1.5 d6.8 d4.7 d1.8
## New.CleanUp.ReferenceOTU10212 0 0.0000000 0.009590486 0.00000000
## New.CleanUp.ReferenceOTU31068 0 0.0000000 0.019180972 0.00000000
## New.ReferenceOTU33 0 0.0000000 0.000000000 0.00000000
## New.ReferenceOTU122 0 0.1381004 0.009590486 0.00000000
## 360329 0 0.0000000 0.000000000 0.01462202
## New.CleanUp.ReferenceOTU20966 0 0.0000000 0.000000000 0.00000000
## base.8 base.6 d2.3 d4.3
## New.CleanUp.ReferenceOTU10212 0.12559945 0.00000000 0.000000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.00000000 0.027414786 0.07390983
## New.ReferenceOTU33 0.00000000 0.00000000 0.000000000 0.14781966
## New.ReferenceOTU122 0.01141813 0.00000000 0.000000000 0.00000000
## 360329 0.00000000 0.04511957 0.009138262 0.00000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.000000000 0.00000000
## base.4 d2.5 d1.4 d1.3
## New.CleanUp.ReferenceOTU10212 0.0000000 0 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.0000000 0 0.00880902 0.02399232
## New.ReferenceOTU33 0.0000000 0 0.00000000 0.00000000
## New.ReferenceOTU122 0.0000000 0 0.00000000 0.00000000
## 360329 0.1146038 0 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.0000000 0 0.00000000 0.00000000
## d6.6 d7.4 d3.5 d3.2
## New.CleanUp.ReferenceOTU10212 0.00000000 0.02823662 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.02939231 0.00000000 0.01309586 0.01829491
## New.ReferenceOTU33 0.00000000 0.00000000 0.00000000 0.00000000
## New.ReferenceOTU122 0.03674039 0.09882818 0.00000000 0.01829491
## 360329 0.01469616 0.00000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.00000000 0.00000000
## d5.8 d2.2 d3.4
## New.CleanUp.ReferenceOTU10212 0.000000000 0.000000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.000000000 0.089881870 0.04811162
## New.ReferenceOTU33 0.000000000 0.000000000 0.01202790
## New.ReferenceOTU122 0.008175278 0.000000000 0.01202790
## 360329 0.000000000 0.038520801 0.01202790
## New.CleanUp.ReferenceOTU20966 0.000000000 0.006420134 0.00000000
## base.2 d2.6 d7.2 d6.7
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.00000000 0.00000000 0.0000000
## New.ReferenceOTU33 0.00000000 0.00000000 0.34253907 0.0000000
## New.ReferenceOTU122 0.00000000 0.04801229 0.00000000 0.1458789
## 360329 0.25579536 0.00000000 0.25690430 0.0000000
## New.CleanUp.ReferenceOTU20966 0.01598721 0.00000000 0.02140869 0.0000000
## base.1 d7.8 d3.3 base.5
## New.CleanUp.ReferenceOTU10212 0.0000000 0.00000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.0000000 0.00000000 0.01231224 0.00000000
## New.ReferenceOTU33 0.1637733 0.00000000 0.01231224 0.08246289
## New.ReferenceOTU122 0.0000000 0.02103271 0.01231224 0.00000000
## 360329 0.0000000 0.00000000 0.01231224 0.00000000
## New.CleanUp.ReferenceOTU20966 0.0491320 0.00000000 0.02462448 0.02748763
## d7.1 base.3 d3.8 base.7
## New.CleanUp.ReferenceOTU10212 0.00000000 0.0000000 0.000000000 0.03336670
## New.CleanUp.ReferenceOTU31068 0.21413276 0.0000000 0.000000000 0.00000000
## New.ReferenceOTU33 0.07137759 0.2385415 0.000000000 0.00000000
## New.ReferenceOTU122 0.00000000 0.0000000 0.009476876 0.00000000
## 360329 0.00000000 0.0000000 0.000000000 0.03336670
## New.CleanUp.ReferenceOTU20966 0.00000000 0.0000000 0.000000000 0.01668335
## d4.4 d6.3 d5.2 d4.8
## New.CleanUp.ReferenceOTU10212 0.00000000 0.0000000 0.0000000 0.000000000
## New.CleanUp.ReferenceOTU31068 0.01514005 0.1897533 0.0000000 0.010792143
## New.ReferenceOTU33 0.24224073 0.0000000 0.0000000 0.016188215
## New.ReferenceOTU122 0.00000000 0.0000000 0.0000000 0.005396072
## 360329 0.00000000 0.2371917 0.0508453 0.000000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.0000000 0.0000000 0.005396072
## d1.7 d4.5 d2.1 d7.5
## New.CleanUp.ReferenceOTU10212 0 0.0000000 0.009996002 0.00000000
## New.CleanUp.ReferenceOTU31068 0 0.0162206 0.000000000 0.03610890
## New.ReferenceOTU33 0 0.0000000 0.000000000 0.28164945
## New.ReferenceOTU122 0 0.0000000 0.000000000 0.00000000
## 360329 0 0.0000000 0.000000000 0.01444356
## New.CleanUp.ReferenceOTU20966 0 0.0000000 0.000000000 0.04333069
## d4.2 d3.6 d7.6 d5.4
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.000000000
## New.CleanUp.ReferenceOTU31068 0.01687194 0.03292452 0.02853067 0.000000000
## New.ReferenceOTU33 0.05061583 0.04115565 0.00000000 0.000000000
## New.ReferenceOTU122 0.00000000 0.00000000 0.01426534 0.014803849
## 360329 0.05061583 0.00000000 0.18544936 0.066617321
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.00000000 0.007401925
## d5.1 d6.4 d5.7 d6.1
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.08028904 0.00000000 0.00000000 0.01365561
## New.ReferenceOTU33 0.20875151 0.06961849 0.00000000 0.00000000
## New.ReferenceOTU122 0.00000000 0.01392370 0.03605831 0.00000000
## 360329 0.05620233 0.09746589 0.00000000 0.31407893
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.00000000 0.01365561
## d1.6 d2.4 d1.2 d4.1
## New.CleanUp.ReferenceOTU10212 0.01470805 0.02601795 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU31068 0.05883218 0.05203590 0.00000000 0.1024590
## New.ReferenceOTU33 0.02941609 0.06504488 0.00000000 0.2459016
## New.ReferenceOTU122 0.08824827 0.07805386 0.03601008 0.0000000
## 360329 0.02941609 0.01300898 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU20966 0.05883218 0.15610771 0.00000000 0.0000000
## d6.2 d3.7 d5.3 d3.1
## New.CleanUp.ReferenceOTU10212 0.00000000 0.02667022 0.0000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.02635741 0.00000000 0.1746586 0.11372252
## New.ReferenceOTU33 0.00000000 0.00000000 0.3016831 0.00000000
## New.ReferenceOTU122 0.00000000 0.02667022 0.0000000 0.01263584
## 360329 0.00000000 0.00000000 0.0000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.0000000 0.00000000
## d4.6 d6.5 d1.1
## New.CleanUp.ReferenceOTU10212 0.000000000 0.05270787 0.00000000
## New.CleanUp.ReferenceOTU31068 0.046838407 0.00000000 0.00000000
## New.ReferenceOTU33 0.007806401 0.00000000 0.00000000
## New.ReferenceOTU122 0.054644809 0.52707867 0.00000000
## 360329 0.000000000 0.01317697 0.00000000
## New.CleanUp.ReferenceOTU20966 0.000000000 0.00000000 0.01532802
head(rownames(dss.relabund.tbl))
## [1] "New.CleanUp.ReferenceOTU10212" "New.CleanUp.ReferenceOTU31068"
## [3] "New.ReferenceOTU33" "New.ReferenceOTU122"
## [5] "360329" "New.CleanUp.ReferenceOTU20966"
#Subset the abundance table to the significantly differentially abundant OTUs and tranpose it
dss.relabund.tbl <- dss.relabund.tbl[which(rownames(dss.relabund.tbl) %in% rownames(dss.sig)),]
dss.relabund.tbl <- t(dss.relabund.tbl)
head(dss.relabund.tbl) # taxa are columns
## New.CleanUp.ReferenceOTU6995 772384 344804 752354
## d7.7 0.03059976 0.0000000 0.00000000 0.006119951
## d5.6 0.00000000 0.0000000 0.00000000 0.000000000
## d5.5 0.00000000 0.0000000 0.00000000 0.000000000
## d7.3 0.00000000 0.0000000 0.00000000 0.000000000
## d1.5 0.00000000 0.0000000 0.00000000 0.038610039
## d6.8 0.00000000 0.1381004 0.01534448 0.000000000
## 804526 New.CleanUp.ReferenceOTU19840
## d7.7 0.006119951 0.0000000
## d5.6 0.000000000 0.0000000
## d5.5 0.009938382 0.0000000
## d7.3 0.012155099 0.0121551
## d1.5 0.038610039 0.0000000
## d6.8 0.107411386 0.0000000
## New.CleanUp.ReferenceOTU4103 4426298 New.CleanUp.ReferenceOTU5717
## d7.7 0.00000000 0 0.128518972
## d5.6 0.00000000 0 0.020070246
## d5.5 0.01987676 0 0.009938382
## d7.3 0.03646530 0 0.000000000
## d1.5 0.00000000 0 0.270270270
## d6.8 0.00000000 0 0.000000000
## 25562 New.CleanUp.ReferenceOTU12183 New.ReferenceOTU243 1013234
## d7.7 0 0.03059976 0 0.006119951
## d5.6 0 0.01003512 0 0.020070246
## d5.5 0 0.00000000 0 0.009938382
## d7.3 0 0.00000000 0 0.000000000
## d1.5 0 0.00000000 0 0.000000000
## d6.8 0 0.00000000 0 0.000000000
## New.CleanUp.ReferenceOTU20191 940433 New.CleanUp.ReferenceOTU5590
## d7.7 0.110159119 0.00000000 0.000000000
## d5.6 0.050175615 0.00000000 0.000000000
## d5.5 0.009938382 0.00000000 0.009938382
## d7.3 0.000000000 0.00000000 0.000000000
## d1.5 0.038610039 0.03861004 0.000000000
## d6.8 0.000000000 0.03068897 0.000000000
## New.CleanUp.ReferenceOTU35079 334485
## d7.7 0.006119951 0.024479804
## d5.6 0.000000000 0.000000000
## d5.5 0.000000000 0.009938382
## d7.3 0.012155099 0.000000000
## d1.5 0.000000000 0.000000000
## d6.8 0.000000000 0.000000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d7.7 0.006119951 0.012239902
## d5.6 0.020070246 0.020070246
## d5.5 0.000000000 0.009938382
## d7.3 0.000000000 0.000000000
## d1.5 0.000000000 0.000000000
## d6.8 0.000000000 0.000000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d7.7 0.01223990 0.00000000
## d5.6 0.00000000 0.02007025
## d5.5 0.01987676 0.00000000
## d7.3 0.03646530 0.00000000
## d1.5 0.03861004 0.11583012
## d6.8 0.01534448 0.00000000
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d7.7 0.06731946 0
## d5.6 0.01003512 0
## d5.5 0.00000000 0
## d7.3 0.01215510 0
## d1.5 0.00000000 0
## d6.8 0.00000000 0
## New.CleanUp.ReferenceOTU6585 588197 509452 807795
## d7.7 0 0.01223990 0.00000000 0.006119951
## d5.6 0 0.04014049 0.01003512 0.000000000
## d5.5 0 0.00000000 0.00000000 0.000000000
## d7.3 0 0.02431020 0.00000000 0.000000000
## d1.5 0 0.00000000 0.00000000 0.038610039
## d6.8 0 0.01534448 0.00000000 0.015344484
## 703741 663226 851865 New.CleanUp.ReferenceOTU18040
## d7.7 0.03671971 0.20195838 0.01223990 0.000000000
## d5.6 0.13045660 0.01003512 0.03010537 0.000000000
## d5.5 0.00000000 0.00000000 0.00000000 0.009938382
## d7.3 0.07293059 0.15801629 0.06077550 0.000000000
## d1.5 0.30888031 0.03861004 0.00000000 0.077220077
## d6.8 0.03068897 0.10741139 0.12275587 0.000000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d7.7 0 0 0
## d5.6 0 0 0
## d5.5 0 0 0
## d7.3 0 0 0
## d1.5 0 0 0
## d6.8 0 0 0
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d7.7 0.061199510 0.08567931 0
## d5.6 0.060210738 0.02007025 0
## d5.5 0.009938382 0.00000000 0
## d7.3 0.133706090 0.13370609 0
## d1.5 0.000000000 0.19305019 0
## d6.8 0.000000000 0.03068897 0
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d7.7 0.0122399 0
## d5.6 0.0000000 0
## d5.5 0.0000000 0
## d7.3 0.0121551 0
## d1.5 0.0000000 0
## d6.8 0.0000000 0
## New.CleanUp.ReferenceOTU21558 522433
## d7.7 0.006119951 0.00000000
## d5.6 0.000000000 0.00000000
## d5.5 0.000000000 0.00000000
## d7.3 0.000000000 0.00000000
## d1.5 0.000000000 0.00000000
## d6.8 0.000000000 0.01534448
## New.CleanUp.ReferenceOTU18718 355312
## d7.7 0 0.006119951
## d5.6 0 0.000000000
## d5.5 0 0.000000000
## d7.3 0 0.000000000
## d1.5 0 0.038610039
## d6.8 0 0.046033451
## New.CleanUp.ReferenceOTU26853 322505
## d7.7 0.006119951 0.00000000
## d5.6 0.000000000 0.01003512
## d5.5 0.000000000 0.00000000
## d7.3 0.012155099 0.01215510
## d1.5 0.000000000 0.00000000
## d6.8 0.000000000 0.03068897
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98
## d7.7 0.018359853 0.03059976 0.00000000
## d5.6 0.000000000 0.05017561 0.00000000
## d5.5 0.009938382 0.00000000 0.00000000
## d7.3 0.000000000 0.00000000 0.00000000
## d1.5 0.000000000 0.00000000 0.00000000
## d6.8 0.000000000 0.01534448 0.01534448
## 462585
## d7.7 0.00000000
## d5.6 0.00000000
## d5.5 0.00000000
## d7.3 0.00000000
## d1.5 0.00000000
## d6.8 0.01534448
# Split the abundance table into different groups
dss.base.abund <- subset(dss.relabund.tbl,grepl("^base", rownames(dss.relabund.tbl)))
d1.abund <- subset(dss.relabund.tbl,grepl("^d1", rownames(dss.relabund.tbl)))
d2.abund <- subset(dss.relabund.tbl,grepl("^d2", rownames(dss.relabund.tbl)))
d3.abund <- subset(dss.relabund.tbl,grepl("^d3", rownames(dss.relabund.tbl)))
d4.abund <- subset(dss.relabund.tbl,grepl("^d4", rownames(dss.relabund.tbl)))
d5.abund <- subset(dss.relabund.tbl,grepl("^d5", rownames(dss.relabund.tbl)))
d6.abund <- subset(dss.relabund.tbl,grepl("^d6", rownames(dss.relabund.tbl)))
d7.abund <- subset(dss.relabund.tbl,grepl("^d7", rownames(dss.relabund.tbl)))
# Put the tables of abundance and table of normalised values in the same order
# Base
ord13 <- match(colnames(dss.base.abund), colnames(dss.base.sig))
dss.base.sig <- dss.base.sig[,ord13]
ord14 <- match(rownames(dss.base.abund), rownames(dss.base.sig))
dss.base.sig <- dss.base.sig[ord14,]
head(dss.base.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## base.8 0.000000 0.000000 0.000000 0.000000 0.000000
## base.6 2.498548 5.570209 0.000000 0.000000 6.624604
## base.4 0.000000 3.062284 4.527247 6.647670 4.926558
## base.2 5.777319 5.154429 0.000000 5.436551 3.648288
## base.1 2.976886 0.000000 0.000000 0.000000 0.000000
## base.5 3.623019 2.255073 2.255073 0.000000 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## base.8 4.477457 3.016532 0.000000
## base.6 0.000000 6.481753 5.570209
## base.4 0.000000 0.000000 0.000000
## base.2 0.000000 0.000000 4.989558
## base.1 0.000000 6.322610 0.000000
## base.5 0.000000 4.776899 0.000000
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## base.8 0.000000 4.876212 0.000000
## base.6 0.000000 0.000000 6.046934
## base.4 0.000000 2.225420 3.062284
## base.2 0.000000 7.201181 4.034270
## base.1 3.882223 0.000000 0.000000
## base.5 0.000000 4.563250 5.127727
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## base.8 0.000000 5.662359 8.968667 2.184629
## base.6 7.838618 2.498548 9.568221 0.000000
## base.4 0.000000 2.225420 0.000000 0.000000
## base.2 3.648288 6.210952 4.803386 0.000000
## base.1 3.882223 0.000000 2.976886 0.000000
## base.5 0.000000 0.000000 6.516741 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## base.8 0 6.367376 7.786976
## base.6 0 3.902410 5.255852
## base.4 0 0.000000 0.000000
## base.2 0 2.276840 0.000000
## base.1 0 0.000000 0.000000
## base.5 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## base.8 0 0.000000
## base.6 0 0.000000
## base.4 0 0.000000
## base.2 0 0.000000
## base.1 0 2.149398
## base.5 0 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## base.8 2.184629 0.000000
## base.6 0.000000 0.000000
## base.4 2.225420 0.000000
## base.2 0.000000 0.000000
## base.1 2.976886 0.000000
## base.5 3.095447 2.255073
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## base.8 4.876212 0.000000
## base.6 8.790708 0.000000
## base.4 5.495620 7.640458
## base.2 0.000000 6.353486
## base.1 2.149398 0.000000
## base.5 4.776899 0.000000
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## base.8 4.690568 5.040669 4.690568 6.095416 9.212371
## base.6 0.000000 6.691054 0.000000 8.288303 11.415336
## base.4 0.000000 6.749771 0.000000 8.482274 11.775066
## base.2 0.000000 2.276840 0.000000 6.052777 9.631737
## base.1 0.000000 5.513287 2.149398 6.748585 9.782548
## base.5 0.000000 6.516741 5.750344 8.029990 11.108882
## 663226 851865 New.CleanUp.ReferenceOTU18040
## base.8 5.188282 2.184629 0
## base.6 2.498548 4.293124 0
## base.4 5.091202 8.892587 0
## base.2 5.672425 10.089400 0
## base.1 5.144220 0.000000 0
## base.5 8.242635 0.000000 0
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475
## base.8 0.000000 0.000000
## base.6 5.828173 0.000000
## base.4 0.000000 0.000000
## base.2 8.157930 0.000000
## base.1 2.976886 3.499435
## base.5 3.623019 0.000000
## 366352 333363 40149 New.CleanUp.ReferenceOTU1304
## base.8 0.000000 0 5.188282 0
## base.6 0.000000 0 0.000000 0
## base.4 3.588494 0 0.000000 0
## base.2 7.565761 0 0.000000 0
## base.1 0.000000 0 0.000000 0
## base.5 0.000000 0 5.750344 0
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## base.8 6.542236 4.690568
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 0.000000 0.000000
## base.5 0.000000 0.000000
## New.CleanUp.ReferenceOTU21558 522433
## base.8 2.184629 0.000000
## base.6 6.691054 0.000000
## base.4 0.000000 4.926558
## base.2 4.589579 6.764106
## base.1 0.000000 0.000000
## base.5 0.000000 0.000000
## New.CleanUp.ReferenceOTU18718 355312 New.CleanUp.ReferenceOTU26853
## base.8 0.000000 0 0.000000
## base.6 2.498548 0 3.364898
## base.4 0.000000 0 3.588494
## base.2 6.862757 0 6.052777
## base.1 4.996743 0 3.499435
## base.5 3.095447 0 3.095447
## 322505 New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98
## base.8 0.000000 2.184629 5.557633 5.759994
## base.6 0.000000 0.000000 0.000000 0.000000
## base.4 4.740674 0.000000 0.000000 4.740674
## base.2 5.302375 3.648288 0.000000 8.196271
## base.1 0.000000 0.000000 0.000000 6.880667
## base.5 0.000000 0.000000 0.000000 6.326345
## 462585
## base.8 0.000000
## base.6 6.404647
## base.4 4.740674
## base.2 8.407104
## base.1 0.000000
## base.5 0.000000
# d1
ord15 <- match(colnames(d1.abund), colnames(d1.sig))
d1.sig <- d1.sig[,ord15]
ord16 <- match(rownames(d1.abund), rownames(d1.sig))
d1.sig <- d1.sig[ord16,]
head(d1.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d1.5 0 0 0 3.266140 3.266140
## d1.8 0 0 0 2.555337 2.555337
## d1.4 0 0 0 0.000000 0.000000
## d1.3 0 0 0 0.000000 0.000000
## d1.7 0 0 0 0.000000 0.000000
## d1.6 0 0 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d1.5 0 0.000000 0
## d1.8 0 0.000000 0
## d1.4 0 2.068632 0
## d1.3 0 2.537965 0
## d1.7 0 0.000000 0
## d1.6 0 0.000000 0
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d1.5 5.938870 0.000000 0.000000
## d1.8 9.610080 2.555337 2.555337
## d1.4 6.733779 0.000000 0.000000
## d1.3 6.528980 0.000000 2.537965
## d1.7 10.401898 0.000000 0.000000
## d1.6 3.383215 2.865782 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d1.5 0.000000 0.000000 3.266140 3.266140
## d1.8 2.555337 0.000000 0.000000 5.322808
## d1.4 2.885531 2.068632 0.000000 0.000000
## d1.3 0.000000 0.000000 0.000000 0.000000
## d1.7 2.719532 0.000000 0.000000 6.307652
## d1.6 0.000000 0.000000 2.865782 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 3.427083 2.555337
## d1.4 5.789549 0.000000 0.000000
## d1.3 0.000000 0.000000 0.000000
## d1.7 3.605635 0.000000 0.000000
## d1.6 0.000000 2.051252 2.051252
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d1.5 0.000000 0.000000
## d1.8 0.000000 3.427083
## d1.4 0.000000 4.546229
## d1.3 0.000000 0.000000
## d1.7 7.077651 5.964688
## d1.6 0.000000 4.063785
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d1.5 3.266140 4.747499
## d1.8 3.427083 3.427083
## d1.4 6.020097 4.731135
## d1.3 4.338479 4.899473
## d1.7 3.605635 4.545126
## d1.6 4.063785 5.153448
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d1.5 0.000000 0.000000
## d1.8 0.000000 0.000000
## d1.4 0.000000 2.885531
## d1.3 3.947019 0.000000
## d1.7 0.000000 0.000000
## d1.6 2.051252 0.000000
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d1.5 0 0.000000 0 3.266140 6.128572
## d1.8 0 0.000000 0 4.666202 7.877415
## d1.4 0 2.068632 0 0.000000 5.410529
## d1.3 0 0.000000 0 4.899473 7.558421
## d1.7 0 0.000000 0 4.150542 7.810338
## d1.6 0 0.000000 0 0.000000 5.681294
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d1.5 3.266140 0 4.189143
## d1.8 2.555337 0 4.919735
## d1.4 0.000000 0 7.209111
## d1.3 4.646074 0 0.000000
## d1.7 2.719532 0 0.000000
## d1.6 2.051252 0 3.383215
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 2.555337 0.000000
## d1.4 0.000000 0.000000 0.000000
## d1.3 0.000000 0.000000 2.537965
## d1.7 0.000000 0.000000 0.000000
## d1.6 2.865782 2.865782 0.000000
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d1.5 0.000000 5.462820 0.000000
## d1.8 0.000000 2.555337 2.555337
## d1.4 0.000000 0.000000 0.000000
## d1.3 0.000000 0.000000 0.000000
## d1.7 0.000000 4.545126 0.000000
## d1.6 6.314993 2.051252 0.000000
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d1.5 0.000000 0
## d1.8 0.000000 0
## d1.4 3.403904 0
## d1.3 3.408085 0
## d1.7 2.719532 0
## d1.6 2.051252 0
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d1.5 0 0.000000 0
## d1.8 0 0.000000 0
## d1.4 0 0.000000 0
## d1.3 0 0.000000 0
## d1.7 0 0.000000 0
## d1.6 0 2.865782 0
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d1.5 3.266140 0 0.000000
## d1.8 4.358410 0 2.555337
## d1.4 0.000000 0 0.000000
## d1.3 0.000000 0 0.000000
## d1.7 0.000000 0 0.000000
## d1.6 5.019993 0 2.051252
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d1.5 0 0.000000 0.000000 0.000000
## d1.8 0 2.555337 0.000000 0.000000
## d1.4 0 0.000000 3.403904 0.000000
## d1.3 0 0.000000 2.537965 3.408085
## d1.7 0 0.000000 0.000000 0.000000
## d1.6 0 0.000000 0.000000 0.000000
# d2
ord17 <- match(colnames(d2.abund), colnames(d2.sig))
d2.sig <- d2.sig[,ord17]
ord18 <- match(rownames(d2.abund), rownames(d2.sig))
d2.sig <- d2.sig[ord18,]
head(d2.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d2.3 0 0.000000 0.000000 3.071661 4.537434
## d2.5 0 0.000000 2.242250 0.000000 2.242250
## d2.2 0 1.701439 0.000000 3.323227 0.000000
## d2.6 0 0.000000 0.000000 1.792045 0.000000
## d2.1 0 0.000000 3.777353 0.000000 0.000000
## d2.4 0 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d2.3 0.00000 0.000000 0.000000
## d2.5 0.00000 3.081116 5.111953
## d2.2 0.00000 1.701439 3.616035
## d2.6 0.00000 0.000000 1.792045
## d2.1 2.38882 5.696201 7.093742
## d2.4 0.00000 0.000000 0.000000
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d2.3 3.071661 3.071661 0.000000
## d2.5 0.000000 0.000000 0.000000
## d2.2 0.000000 1.701439 1.701439
## d2.6 0.000000 0.000000 1.792045
## d2.1 0.000000 0.000000 3.777353
## d2.4 2.398762 0.000000 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d2.3 0.00000 0 0.000000 0.000000
## d2.5 0.00000 0 3.081116 0.000000
## d2.2 0.00000 0 0.000000 1.701439
## d2.6 0.00000 0 6.128572 0.000000
## d2.1 2.38882 0 0.000000 0.000000
## d2.4 0.00000 0 3.255049 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d2.3 0.00000 0 3.071661
## d2.5 0.00000 0 2.242250
## d2.2 0.00000 0 0.000000
## d2.6 0.00000 0 1.792045
## d2.1 2.38882 0 0.000000
## d2.4 0.00000 0 2.398762
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d2.3 0.000000 2.233797
## d2.5 2.242250 0.000000
## d2.2 1.701439 0.000000
## d2.6 1.792045 3.068527
## d2.1 0.000000 0.000000
## d2.4 0.000000 4.483333
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d2.3 3.598259 2.233797
## d2.5 0.000000 2.242250
## d2.2 0.000000 2.460613
## d2.6 0.000000 0.000000
## d2.1 0.000000 0.000000
## d2.4 3.255049 2.398762
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d2.3 0.000000 2.233797
## d2.5 0.000000 0.000000
## d2.2 3.323227 3.323227
## d2.6 4.933414 0.000000
## d2.1 2.388820 0.000000
## d2.4 0.000000 0.000000
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d2.3 3.598259 0.000000 0.000000 0.000000 3.598259
## d2.5 0.000000 0.000000 0.000000 0.000000 3.993255
## d2.2 0.000000 0.000000 0.000000 2.460613 6.001421
## d2.6 1.792045 3.068527 0.000000 0.000000 4.371868
## d2.1 0.000000 4.723762 0.000000 0.000000 4.165844
## d2.4 3.788739 4.177441 2.398762 0.000000 3.788739
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d2.3 4.537434 2.233797 0.000000
## d2.5 2.242250 4.547700 0.000000
## d2.2 1.701439 4.249295 1.701439
## d2.6 4.189143 0.000000 0.000000
## d2.1 0.000000 0.000000 0.000000
## d2.4 3.788739 0.000000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d2.3 0.000000 0.000000 0.000000
## d2.5 0.000000 0.000000 0.000000
## d2.2 2.460613 2.955454 3.616035
## d2.6 2.567085 0.000000 0.000000
## d2.1 0.000000 0.000000 0.000000
## d2.4 0.000000 3.255049 0.000000
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d2.3 3.071661 2.233797 0.000000
## d2.5 0.000000 0.000000 0.000000
## d2.2 2.460613 0.000000 1.701439
## d2.6 0.000000 3.068527 0.000000
## d2.1 0.000000 0.000000 4.165844
## d2.4 6.202605 4.483333 2.398762
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d2.3 2.233797 0
## d2.5 2.242250 0
## d2.2 2.460613 0
## d2.6 0.000000 0
## d2.1 0.000000 0
## d2.4 2.398762 0
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d2.3 0.000000 0.000000 0
## d2.5 3.993255 4.761254 0
## d2.2 2.460613 3.323227 0
## d2.6 0.000000 0.000000 0
## d2.1 3.244061 0.000000 0
## d2.4 0.000000 2.398762 0
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d2.3 0.000000 0.000000 3.071661
## d2.5 2.242250 0.000000 0.000000
## d2.2 0.000000 1.701439 0.000000
## d2.6 0.000000 1.792045 0.000000
## d2.1 0.000000 0.000000 0.000000
## d2.4 5.137013 0.000000 0.000000
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d2.3 0.000000 0.000000 0.000000 0.000000
## d2.5 0.000000 5.393855 0.000000 0.000000
## d2.2 0.000000 0.000000 4.687888 2.955454
## d2.6 3.439918 0.000000 1.792045 0.000000
## d2.1 0.000000 2.388820 4.471606 0.000000
## d2.4 2.398762 0.000000 2.398762 0.000000
# d3
ord19 <- match(colnames(d3.abund), colnames(d3.sig))
d3.sig <- d3.sig[,ord19]
ord20 <- match(rownames(d3.abund), rownames(d3.sig))
d3.sig <- d3.sig[ord20,]
head(d3.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d3.5 0.000000 0.000000 2.624793 0.000000 0.000000
## d3.2 0.000000 0.000000 2.609292 2.609292 2.609292
## d3.4 0.000000 0.000000 0.000000 0.000000 0.000000
## d3.3 0.000000 0.000000 0.000000 0.000000 0.000000
## d3.8 1.794576 1.794576 0.000000 0.000000 0.000000
## d3.6 2.034207 0.000000 2.034207 0.000000 2.034207
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d3.5 0.000000 1.841562 4.044733
## d3.2 0.000000 2.609292 3.485952
## d3.4 0.000000 0.000000 5.902641
## d3.3 0.000000 0.000000 0.000000
## d3.8 3.738301 2.570043 4.375254
## d3.6 0.000000 4.502829 4.851188
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d3.5 3.129603 2.624793 2.624793
## d3.2 0.000000 0.000000 0.000000
## d3.4 2.299118 0.000000 0.000000
## d3.3 0.000000 0.000000 2.561194
## d3.8 2.570043 3.443148 0.000000
## d3.6 0.000000 0.000000 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d3.5 1.841562 0 1.841562 3.129603
## d3.2 0.000000 0 0.000000 0.000000
## d3.4 0.000000 0 0.000000 2.299118
## d3.3 0.000000 0 0.000000 0.000000
## d3.8 0.000000 0 1.794576 0.000000
## d3.6 2.034207 0 0.000000 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d3.5 0.000000 2.624793 0
## d3.2 0.000000 0.000000 0
## d3.4 0.000000 0.000000 0
## d3.3 2.561194 0.000000 0
## d3.8 0.000000 3.738301 0
## d3.6 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d3.5 0.000000 0
## d3.2 2.609292 0
## d3.4 2.299118 0
## d3.3 0.000000 0
## d3.8 2.570043 0
## d3.6 2.846383 0
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d3.5 0.000000 0
## d3.2 0.000000 0
## d3.4 2.299118 0
## d3.3 2.561194 0
## d3.8 1.794576 0
## d3.6 2.846383 0
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d3.5 0.000000 2.624793
## d3.2 0.000000 3.485952
## d3.4 0.000000 0.000000
## d3.3 0.000000 0.000000
## d3.8 1.794576 0.000000
## d3.6 4.042633 0.000000
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d3.5 2.624793 4.878910 2.624793 5.112355 7.802337
## d3.2 0.000000 2.609292 0.000000 0.000000 5.959411
## d3.4 0.000000 0.000000 0.000000 3.144558 5.329686
## d3.3 2.561194 0.000000 0.000000 0.000000 0.000000
## d3.8 3.071661 0.000000 1.794576 0.000000 3.071661
## d3.6 0.000000 3.362880 0.000000 0.000000 3.362880
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d3.5 0.000000 3.129603 0.000000
## d3.2 2.609292 0.000000 3.485952
## d3.4 0.000000 2.299118 4.616441
## d3.3 0.000000 4.365122 2.561194
## d3.8 0.000000 1.794576 4.375254
## d3.6 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d3.5 0 0.000000 0.000000
## d3.2 0 0.000000 0.000000
## d3.4 0 2.299118 2.299118
## d3.3 0 0.000000 0.000000
## d3.8 0 3.738301 0.000000
## d3.6 0 2.034207 0.000000
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d3.5 0.000000 0.000000 2.624793
## d3.2 4.420089 0.000000 0.000000
## d3.4 0.000000 0.000000 0.000000
## d3.3 0.000000 2.561194 0.000000
## d3.8 0.000000 0.000000 1.794576
## d3.6 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d3.5 0.000000 1.841562
## d3.2 0.000000 0.000000
## d3.4 4.365122 0.000000
## d3.3 2.561194 0.000000
## d3.8 4.192506 2.570043
## d3.6 4.502829 2.034207
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d3.5 0.000000 0.00000 1.841562
## d3.2 0.000000 0.00000 0.000000
## d3.4 0.000000 4.06059 2.299118
## d3.3 0.000000 0.00000 0.000000
## d3.8 1.794576 0.00000 0.000000
## d3.6 0.000000 0.00000 0.000000
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d3.5 0.000000 1.841562 0
## d3.2 0.000000 0.000000 0
## d3.4 0.000000 0.000000 0
## d3.3 0.000000 0.000000 0
## d3.8 1.794576 0.000000 0
## d3.6 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d3.5 0.000000 1.841562 0.000000 0.000000
## d3.2 0.000000 2.609292 0.000000 0.000000
## d3.4 0.000000 0.000000 0.000000 2.299118
## d3.3 3.433483 0.000000 3.433483 2.561194
## d3.8 0.000000 3.071661 3.443148 0.000000
## d3.6 0.000000 0.000000 4.851188 0.000000
# d4
ord21 <- match(colnames(d4.abund), colnames(d4.sig))
d4.sig <- d4.sig[,ord21]
ord22 <- match(rownames(d4.abund), rownames(d4.sig))
d4.sig <- d4.sig[ord22,]
head(d4.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d4.7 2.225420 1.504994 0.000000 1.504994 0.000000
## d4.3 0.000000 0.000000 0.000000 0.000000 0.000000
## d4.4 0.000000 0.000000 0.000000 0.000000 0.000000
## d4.8 1.484685 1.484685 1.484685 0.000000 1.484685
## d4.5 0.000000 2.476695 0.000000 0.000000 4.267898
## d4.2 0.000000 2.951216 0.000000 2.126644 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d4.7 3.973233 2.225420 0.000000
## d4.3 2.272447 0.000000 0.000000
## d4.4 2.137950 0.000000 0.000000
## d4.8 5.342283 3.320890 4.103250
## d4.5 3.340907 5.544179 3.340907
## d4.2 0.000000 2.951216 0.000000
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d4.7 4.132915 3.062284 4.407393
## d4.3 4.029070 0.000000 0.000000
## d4.4 0.000000 0.000000 2.137950
## d4.8 4.103250 4.497148 6.418399
## d4.5 2.476695 0.000000 0.000000
## d4.2 0.000000 0.000000 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d4.7 3.793651 4.407393 5.372993 0
## d4.3 0.000000 2.272447 0.000000 0
## d4.4 0.000000 0.000000 0.000000 0
## d4.8 1.484685 0.000000 2.200731 0
## d4.5 2.476695 0.000000 0.000000 0
## d4.2 0.000000 0.000000 2.126644 0
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d4.7 1.504994 3.793651 1.504994
## d4.3 2.272447 0.000000 3.114839
## d4.4 2.137950 0.000000 0.000000
## d4.8 3.034611 3.034611 0.000000
## d4.5 0.000000 0.000000 0.000000
## d4.2 2.126644 0.000000 2.126644
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d4.7 0.000000 3.588494
## d4.3 0.000000 0.000000
## d4.4 0.000000 0.000000
## d4.8 0.000000 1.484685
## d4.5 3.340907 0.000000
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d4.7 0.000000 0.000000
## d4.3 0.000000 0.000000
## d4.4 2.137950 0.000000
## d4.8 2.677099 2.200731
## d4.5 0.000000 2.476695
## d4.2 0.000000 0.000000
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d4.7 3.062284 0.000000
## d4.3 3.114839 0.000000
## d4.4 0.000000 4.632822
## d4.8 3.943780 1.484685
## d4.5 0.000000 0.000000
## d4.2 0.000000 2.126644
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d4.7 0.00000 0.000000 3.349249 0.000000 4.740674
## d4.3 0.00000 2.272447 3.114839 2.272447 6.278512
## d4.4 0.00000 2.137950 0.000000 0.000000 0.000000
## d4.8 3.94378 5.522433 3.943780 5.780227 8.413324
## d4.5 0.00000 4.267898 2.476695 0.000000 5.395607
## d4.2 0.00000 2.951216 4.804055 3.472619 5.484494
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d4.7 0.000000 1.504994 0.000000
## d4.3 0.000000 0.000000 0.000000
## d4.4 0.000000 2.137950 0.000000
## d4.8 4.806242 5.577809 2.200731
## d4.5 0.000000 2.476695 4.827680
## d4.2 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d4.7 1.504994 0.000000 0.000000
## d4.3 0.000000 2.272447 6.348016
## d4.4 0.000000 2.963977 0.000000
## d4.8 2.200731 2.677099 0.000000
## d4.5 0.000000 3.340907 0.000000
## d4.2 3.472619 0.000000 2.951216
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d4.7 0.000000 0.000000 0.00000
## d4.3 0.000000 2.272447 0.00000
## d4.4 0.000000 0.000000 2.13795
## d4.8 3.034611 2.677099 0.00000
## d4.5 5.544179 3.340907 0.00000
## d4.2 0.000000 0.000000 0.00000
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d4.7 0.000000 4.836607
## d4.3 0.000000 0.000000
## d4.4 2.137950 0.000000
## d4.8 2.200731 3.034611
## d4.5 3.340907 0.000000
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d4.7 1.504994 0.000000 2.225420
## d4.3 0.000000 3.114839 0.000000
## d4.4 0.000000 0.000000 0.000000
## d4.8 0.000000 0.000000 0.000000
## d4.5 0.000000 2.476695 0.000000
## d4.2 0.000000 0.000000 2.126644
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d4.7 0.000000 0.000000 0
## d4.3 4.029070 0.000000 0
## d4.4 0.000000 0.000000 0
## d4.8 2.200731 1.484685 0
## d4.5 0.000000 0.000000 0
## d4.2 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d4.7 0 0.000000 0.000000 0.000000
## d4.3 0 0.000000 3.643193 0.000000
## d4.4 0 0.000000 0.000000 0.000000
## d4.8 0 6.152668 1.484685 0.000000
## d4.5 0 2.476695 0.000000 0.000000
## d4.2 0 0.000000 4.618769 4.156641
# d5
ord23 <- match(colnames(d5.abund), colnames(d5.sig))
d5.sig <- d5.sig[,ord23]
ord24 <- match(rownames(d5.abund), rownames(d5.sig))
d5.sig <- d5.sig[ord24,]
head(d5.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d5.6 0 0.000000 0.000000 0.000000 0.000000
## d5.5 0 0.000000 0.000000 0.000000 2.383887
## d5.8 0 2.229599 2.229599 3.593367 0.000000
## d5.2 0 0.000000 0.000000 2.089949 0.000000
## d5.4 0 1.733607 0.000000 2.995800 0.000000
## d5.1 0 0.000000 0.000000 3.056076 0.000000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d5.6 0 0.000000 0.000000
## d5.5 0 3.238606 0.000000
## d5.8 0 0.000000 2.229599
## d5.2 0 3.429212 3.810373
## d5.4 0 2.498548 0.000000
## d5.1 0 3.056076 3.056076
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d5.6 2.408806 0 1.657719
## d5.5 2.383887 0 0.000000
## d5.8 0.000000 0 0.000000
## d5.2 0.000000 0 0.000000
## d5.4 0.000000 0 0.000000
## d5.1 0.000000 0 3.056076
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d5.6 0 2.408806 3.557761 0.000000
## d5.5 0 2.383887 2.383887 0.000000
## d5.8 0 0.000000 0.000000 0.000000
## d5.2 0 0.000000 3.429212 0.000000
## d5.4 0 0.000000 2.498548 1.733607
## d5.1 0 0.000000 0.000000 1.781999
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d5.6 0.000000 0 0.000000
## d5.5 2.383887 0 2.383887
## d5.8 0.000000 0 0.000000
## d5.2 0.000000 0 0.000000
## d5.4 0.000000 0 0.000000
## d5.1 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d5.6 2.408806 2.408806
## d5.5 0.000000 2.383887
## d5.8 0.000000 0.000000
## d5.2 0.000000 0.000000
## d5.4 0.000000 3.902410
## d5.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d5.6 0.000000 2.408806
## d5.5 3.238606 0.000000
## d5.8 0.000000 0.000000
## d5.2 0.000000 2.089949
## d5.4 4.853346 0.000000
## d5.1 0.000000 0.000000
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d5.6 1.657719 0.000000
## d5.5 0.000000 0.000000
## d5.8 0.000000 0.000000
## d5.2 0.000000 0.000000
## d5.4 0.000000 3.364898
## d5.1 4.798531 3.427083
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d5.6 0.000000 3.266140 1.657719 0.000000 4.858838
## d5.5 0.000000 0.000000 0.000000 0.000000 0.000000
## d5.8 0.000000 3.593367 0.000000 0.000000 3.066963
## d5.2 0.000000 4.111586 0.000000 2.909707 6.885865
## d5.4 1.733607 1.733607 0.000000 1.733607 5.165258
## d5.1 1.781999 3.056076 0.000000 3.056076 5.488722
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d5.6 1.657719 2.900242 0.000000
## d5.5 0.000000 0.000000 2.383887
## d5.8 2.229599 3.593367 2.229599
## d5.2 0.000000 4.572969 0.000000
## d5.4 3.364898 4.110954 0.000000
## d5.1 1.781999 6.586794 3.056076
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d5.6 0.000000 0.000000 0.000000
## d5.5 0.000000 0.000000 0.000000
## d5.8 0.000000 3.066963 0.000000
## d5.2 2.089949 0.000000 5.974742
## d5.4 0.000000 3.658544 2.995800
## d5.1 0.000000 2.555337 0.000000
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d5.6 3.800230 2.408806 0
## d5.5 2.383887 0.000000 0
## d5.8 0.000000 2.229599 0
## d5.2 0.000000 0.000000 0
## d5.4 0.000000 3.364898 0
## d5.1 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d5.6 0.000000 0
## d5.5 0.000000 0
## d5.8 0.000000 0
## d5.2 0.000000 0
## d5.4 5.767876 0
## d5.1 0.000000 0
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d5.6 0.000000 0.000000 0.000000
## d5.5 0.000000 0.000000 0.000000
## d5.8 0.000000 0.000000 0.000000
## d5.2 0.000000 2.909707 2.089949
## d5.4 0.000000 2.498548 0.000000
## d5.1 3.427083 0.000000 0.000000
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d5.6 0.000000 0.000000 1.657719
## d5.5 0.000000 0.000000 0.000000
## d5.8 5.907866 0.000000 2.229599
## d5.2 0.000000 0.000000 0.000000
## d5.4 0.000000 0.000000 0.000000
## d5.1 3.427083 3.721933 0.000000
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d5.6 0.000000 3.557761 0 0.000000
## d5.5 2.383887 0.000000 0 0.000000
## d5.8 2.229599 0.000000 0 0.000000
## d5.2 3.429212 0.000000 0 4.360643
## d5.4 0.000000 0.000000 0 0.000000
## d5.1 0.000000 0.000000 0 4.520499
# d6
ord25 <- match(colnames(d6.abund), colnames(d6.sig))
d6.sig <- d6.sig[,ord25]
ord26 <- match(rownames(d6.abund), rownames(d6.sig))
d6.sig <- d6.sig[ord26,]
head(d6.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d6.8 0.000000 5.338912 2.429205 0.000000 4.986491
## d6.6 0.000000 3.139551 0.000000 0.000000 5.176173
## d6.7 2.004339 2.004339 0.000000 2.004339 2.004339
## d6.3 0.000000 0.000000 2.804885 2.804885 3.319334
## d6.4 0.000000 0.000000 0.000000 1.981799 0.000000
## d6.1 0.000000 3.862961 1.891430 0.000000 3.565610
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d6.8 0 0.000000 0.000000
## d6.6 0 0.000000 0.000000
## d6.7 0 0.000000 0.000000
## d6.3 0 3.997298 4.641089
## d6.4 0 0.000000 0.000000
## d6.1 0 0.000000 3.565610
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d6.8 0.000000 0.000000 0.000000
## d6.6 0.000000 0.000000 0.000000
## d6.7 3.327133 2.004339 0.000000
## d6.3 0.000000 1.997839 0.000000
## d6.4 3.300059 0.000000 1.981799
## d6.1 0.000000 0.000000 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d6.8 0 0.000000 0.000000 3.288644
## d6.6 0 0.000000 0.000000 2.294621
## d6.7 0 2.812313 6.005692 3.327133
## d6.3 0 0.000000 0.000000 2.804885
## d6.4 0 0.000000 0.000000 0.000000
## d6.1 0 0.000000 3.565610 0.000000
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d6.8 0.000000 0 0
## d6.6 0.000000 0 0
## d6.7 0.000000 0 0
## d6.3 1.997839 0 0
## d6.4 0.000000 0 0
## d6.1 0.000000 0 0
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d6.8 0 0.000000
## d6.6 0 3.139551
## d6.7 0 0.000000
## d6.3 0 0.000000
## d6.4 0 0.000000
## d6.1 0 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d6.8 2.429205 0
## d6.6 2.294621 0
## d6.7 4.005422 0
## d6.3 4.245197 0
## d6.4 4.620517 0
## d6.1 0.000000 0
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d6.8 0.000000 0.000000
## d6.6 2.294621 0.000000
## d6.7 2.004339 2.812313
## d6.3 0.000000 0.000000
## d6.4 0.000000 0.000000
## d6.1 3.862961 0.000000
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d6.8 0.000000 2.429205 0 2.429205 3.288644
## d6.6 0.000000 0.000000 0 0.000000 4.824959
## d6.7 0.000000 2.004339 0 2.004339 5.215080
## d6.3 0.000000 0.000000 0 0.000000 4.641089
## d6.4 1.981799 0.000000 0 0.000000 1.981799
## d6.1 0.000000 0.000000 0 1.891430 4.945341
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d6.8 4.986491 5.173436 0.000000
## d6.6 6.233020 0.000000 0.000000
## d6.7 5.620374 4.005422 0.000000
## d6.3 0.000000 0.000000 1.997839
## d6.4 0.000000 0.000000 0.000000
## d6.1 3.862961 6.212778 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d6.8 0 0.000000 0.000000
## d6.6 0 0.000000 0.000000
## d6.7 0 0.000000 0.000000
## d6.3 0 2.804885 6.765328
## d6.4 0 0.000000 0.000000
## d6.1 0 1.891430 7.377745
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d6.8 0.000000 3.288644 0
## d6.6 2.294621 5.324181 0
## d6.7 2.004339 3.705778 0
## d6.3 0.000000 0.000000 0
## d6.4 0.000000 3.977212 0
## d6.1 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d6.8 0.00000 0
## d6.6 0.00000 0
## d6.7 0.00000 0
## d6.3 0.00000 0
## d6.4 0.00000 0
## d6.1 1.89143 0
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d6.8 0.000000 2.429205 0.000000
## d6.6 2.294621 3.668885 0.000000
## d6.7 0.000000 2.812313 0.000000
## d6.3 1.997839 1.997839 0.000000
## d6.4 1.981799 1.981799 0.000000
## d6.1 0.000000 1.891430 2.682585
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d6.8 3.823535 0.000000 3.288644
## d6.6 3.668885 0.000000 3.668885
## d6.7 0.000000 0.000000 0.000000
## d6.3 0.000000 0.000000 0.000000
## d6.4 0.000000 0.000000 1.981799
## d6.1 3.565610 2.682585 0.000000
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d6.8 0.000000 2.429205 2.429205 2.429205
## d6.6 0.000000 0.000000 0.000000 2.294621
## d6.7 2.004339 0.000000 0.000000 2.812313
## d6.3 0.000000 1.997839 0.000000 0.000000
## d6.4 0.000000 0.000000 1.981799 1.981799
## d6.1 1.891430 0.000000 1.891430 5.713985
# d7
ord27 <- match(colnames(d7.abund), colnames(d7.sig))
d7.sig <- d7.sig[,ord27]
ord28 <- match(rownames(d7.abund), rownames(d7.sig))
d7.sig <- d7.sig[ord28,]
head(d7.sig)
## New.CleanUp.ReferenceOTU6995 772384 344804 752354 804526
## d7.7 3.601204 0 0 1.69027 1.69027
## d7.3 0.000000 0 0 0.00000 1.92049
## d7.4 1.962938 0 0 0.00000 0.00000
## d7.2 0.000000 0 0 0.00000 0.00000
## d7.8 2.047816 0 0 0.00000 0.00000
## d7.1 0.000000 0 0 0.00000 0.00000
## New.CleanUp.ReferenceOTU19840 New.CleanUp.ReferenceOTU4103 4426298
## d7.7 0.000000 0.000000 0
## d7.3 1.920490 3.225976 0
## d7.4 0.000000 0.000000 0
## d7.2 0.000000 0.000000 0
## d7.8 2.047816 0.000000 0
## d7.1 0.000000 2.268073 0
## New.CleanUp.ReferenceOTU5717 25562 New.CleanUp.ReferenceOTU12183
## d7.7 5.578051 0 3.601204
## d7.3 0.000000 0 0.000000
## d7.4 0.000000 0 0.000000
## d7.2 0.000000 0 1.917538
## d7.8 0.000000 0 2.861874
## d7.1 0.000000 0 0.000000
## New.ReferenceOTU243 1013234 New.CleanUp.ReferenceOTU20191 940433
## d7.7 0.000000 1.690270 5.360683 0
## d7.3 0.000000 0.000000 0.000000 0
## d7.4 0.000000 1.962938 5.161187 0
## d7.2 0.000000 0.000000 3.598259 0
## d7.8 0.000000 0.000000 0.000000 0
## d7.1 2.268073 0.000000 0.000000 0
## New.CleanUp.ReferenceOTU5590 New.CleanUp.ReferenceOTU35079 334485
## d7.7 0.000000 1.690270 3.308694
## d7.3 0.000000 1.920490 0.000000
## d7.4 0.000000 1.962938 0.000000
## d7.2 0.000000 0.000000 0.000000
## d7.8 2.047816 0.000000 0.000000
## d7.1 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU17738
## d7.7 1.69027 2.447405
## d7.3 0.00000 0.000000
## d7.4 0.00000 0.000000
## d7.2 0.00000 0.000000
## d7.8 3.37912 0.000000
## d7.1 0.00000 0.000000
## New.CleanUp.ReferenceOTU29128 New.CleanUp.ReferenceOTU2842
## d7.7 2.447405 0.000000
## d7.3 3.225976 0.000000
## d7.4 0.000000 0.000000
## d7.2 3.896164 1.917538
## d7.8 0.000000 2.047816
## d7.1 0.000000 0.000000
## New.ReferenceOTU159 New.CleanUp.ReferenceOTU9245
## d7.7 4.672362 0
## d7.3 1.920490 0
## d7.4 1.962938 0
## d7.2 0.000000 0
## d7.8 0.000000 0
## d7.1 0.000000 0
## New.CleanUp.ReferenceOTU6585 588197 509452 807795 703741
## d7.7 0.000000 2.447405 0.000000 1.69027 3.844288
## d7.3 0.000000 2.716120 0.000000 0.00000 4.146744
## d7.4 3.277338 0.000000 2.764920 0.00000 1.962938
## d7.2 0.000000 0.000000 1.917538 0.00000 0.000000
## d7.8 2.861874 0.000000 0.000000 0.00000 0.000000
## d7.1 0.000000 0.000000 0.000000 0.00000 4.023892
## 663226 851865 New.CleanUp.ReferenceOTU18040
## d7.7 6.219104 2.447405 0.000000
## d7.3 5.217684 3.899908 0.000000
## d7.4 0.000000 3.277338 0.000000
## d7.2 0.000000 4.142958 0.000000
## d7.8 2.047816 0.000000 4.520018
## d7.1 0.000000 2.268073 0.000000
## New.CleanUp.ReferenceOTU27722 New.CleanUp.ReferenceOTU30475 366352
## d7.7 0 0.000000 0
## d7.3 0 0.000000 0
## d7.4 0 3.654688 0
## d7.2 0 0.000000 0
## d7.8 0 0.000000 0
## d7.1 0 0.000000 0
## 333363 40149 New.CleanUp.ReferenceOTU1304
## d7.7 4.540506 5.008110 0.000000
## d7.3 4.983708 4.983708 0.000000
## d7.4 1.962938 0.000000 0.000000
## d7.2 0.000000 2.712718 0.000000
## d7.8 0.000000 0.000000 2.047816
## d7.1 0.000000 0.000000 3.638118
## New.CleanUp.ReferenceOTU2054 New.CleanUp.ReferenceOTU20505
## d7.7 2.447405 0
## d7.3 1.920490 0
## d7.4 0.000000 0
## d7.2 0.000000 0
## d7.8 0.000000 0
## d7.1 0.000000 0
## New.CleanUp.ReferenceOTU21558 522433 New.CleanUp.ReferenceOTU18718
## d7.7 1.69027 0 0
## d7.3 0.00000 0 0
## d7.4 0.00000 0 0
## d7.2 0.00000 0 0
## d7.8 0.00000 0 0
## d7.1 0.00000 0 0
## 355312 New.CleanUp.ReferenceOTU26853 322505
## d7.7 1.69027 1.690270 0.00000
## d7.3 0.00000 1.920490 1.92049
## d7.4 0.00000 0.000000 0.00000
## d7.2 0.00000 2.712718 0.00000
## d7.8 0.00000 0.000000 0.00000
## d7.1 0.00000 0.000000 0.00000
## New.CleanUp.ReferenceOTU13337 761968 New.ReferenceOTU98 462585
## d7.7 2.941391 3.601204 0.000000 0.000000
## d7.3 0.000000 0.000000 0.000000 0.000000
## d7.4 0.000000 0.000000 0.000000 0.000000
## d7.2 0.000000 0.000000 0.000000 4.537434
## d7.8 0.000000 0.000000 2.047816 0.000000
## d7.1 0.000000 0.000000 2.268073 0.000000
## Selecting OTUs that have a mean or median of at least 0.1%
# Work with data frames
dss.base.sig <- as.data.frame(dss.base.sig)
d1.sig <- as.data.frame(d1.sig)
d2.sig <- as.data.frame(d2.sig)
d3.sig <- as.data.frame(d3.sig)
d4.sig <- as.data.frame(d4.sig)
d5.sig <- as.data.frame(d5.sig)
d6.sig <- as.data.frame(d6.sig)
d7.sig <- as.data.frame(d7.sig)
dss.base.abund <- as.data.frame(dss.base.abund)
d1.abund <- as.data.frame(d1.abund)
d2.abund <- as.data.frame(d2.abund)
d3.abund <- as.data.frame(d3.abund)
d4.abund <- as.data.frame(d4.abund)
d5.abund <- as.data.frame(d5.abund)
d6.abund <- as.data.frame(d6.abund)
d7.abund <- as.data.frame(d7.abund)
# Select only OTUs above threshold
##For some reason, this didn't really work when I had more than 2 groups to compare. I decided not to worry about it, because for the moment I'm not using the threshold for any sort of plot or table.
#heal.threshold <- c()
#for (i in 1:length(heal.base.sig)) {
#heal.threshold[i] <- ifelse(median(heal.base.abund[,i]) > 0.1 | median(d8.abund[,i]) > 0.1 | median(d9.abund[,i]) > #0.1 | median(d10.abund[,i]) > 0.1 | mean(heal.base.abund[,i]) > 0.1 | mean(d8.abund[,i]) > 0.1 | mean(d9.abund[,i]) > #0.1 | mean(d10.abund[,i]) > 0.1, names(heal.base.sig[i]), NA)
#}
#heal.threshold <- heal.threshold[!is.na(heal.threshold)]
#heal.threshold
##Export table of mean and median values for all significant OTUs
dss.table <- rownames(dss.sig)
mean.dss.base <- c()
mean.d1 <- c()
mean.d2 <- c()
mean.d3 <- c()
mean.d4 <- c()
mean.d5 <- c()
mean.d6 <- c()
mean.d7 <- c()
median.dss.base <- c()
median.d1 <- c()
median.d2 <- c()
median.d3 <- c()
median.d4 <- c()
median.d5 <- c()
median.d6 <- c()
median.d7 <- c()
for (i in dss.table) {
mean.dss.base[i] <- mean(dss.base.abund[,i])
median.dss.base[i] <- median(dss.base.abund[,i])
mean.d1[i] <- mean(d1.abund[,i])
median.d1[i] <- median(d1.abund[,i])
mean.d2[i] <- mean(d2.abund[,i])
median.d2[i] <- median(d2.abund[,i])
mean.d3[i] <- mean(d3.abund[,i])
median.d3[i] <- median(d3.abund[,i])
mean.d4[i] <- mean(d4.abund[,i])
median.d4[i] <- median(d4.abund[,i])
mean.d5[i] <- mean(d5.abund[,i])
median.d5[i] <- median(d5.abund[,i])
mean.d6[i] <- mean(d6.abund[,i])
median.d6[i] <- median(d6.abund[,i])
mean.d7[i] <- mean(d7.abund[,i])
median.d7[i] <- median(d7.abund[,i])
}
dss.table <- data.frame(mean.dss.base, median.dss.base, mean.d1, median.d1, mean.d2, median.d2, mean.d3, median.d3, mean.d4, median.d4, mean.d5, median.d5, mean.d6, median.d6, mean.d7, median.d7)
head(dss.table)
## mean.dss.base median.dss.base mean.d1
## New.CleanUp.ReferenceOTU2842 0.003435954 0.0000000 0.135671206
## 940433 0.001427266 0.0000000 0.049506675
## 334485 0.151495010 0.0000000 0.003666258
## 588197 0.287901075 0.2530929 0.003351758
## New.CleanUp.ReferenceOTU18040 0.000000000 0.0000000 0.076786410
## 40149 0.122853162 0.0000000 0.045388167
## median.d1 mean.d2 median.d2
## New.CleanUp.ReferenceOTU2842 0.12989203 0.008493232 0.010989264
## 940433 0.00000000 0.001070022 0.000000000
## 334485 0.00000000 0.009476641 0.011305717
## 588197 0.00000000 0.023469882 0.014403687
## New.CleanUp.ReferenceOTU18040 0.02206207 0.001070022 0.000000000
## 40149 0.01466503 0.017165086 0.004569131
## mean.d3 median.d3 mean.d4
## New.CleanUp.ReferenceOTU2842 0.004913257 0.00000000 0.006303993
## 940433 0.006414436 0.00000000 0.002927400
## 334485 0.000000000 0.00000000 0.009466956
## 588197 0.023380348 0.00000000 0.036724567
## New.CleanUp.ReferenceOTU18040 0.029523821 0.01965303 0.013514468
## 40149 0.003118509 0.00000000 0.009158253
## median.d4 mean.d5 median.d5
## New.CleanUp.ReferenceOTU2842 0.00000000 0.004097696 0.00000000
## 940433 0.00000000 0.001928854 0.00000000
## 334485 0.00000000 0.001242298 0.00000000
## 588197 0.02256421 0.019963949 0.01574432
## New.CleanUp.ReferenceOTU18040 0.00000000 0.005275047 0.00000000
## 40149 0.00000000 0.007231653 0.00000000
## mean.d6 median.d6 mean.d7
## New.CleanUp.ReferenceOTU2842 0.000000000 0.000000000 0.003990631
## 940433 0.014178284 0.003674039 0.000000000
## 334485 0.000000000 0.000000000 0.003059976
## 588197 0.005388885 0.000000000 0.004568763
## New.CleanUp.ReferenceOTU18040 0.003623935 0.000000000 0.011909977
## 40149 0.029017476 0.015344484 0.032775349
## median.d7
## New.CleanUp.ReferenceOTU2842 0
## 940433 0
## 334485 0
## 588197 0
## New.CleanUp.ReferenceOTU18040 0
## 40149 0
write.table(dss.table, "dss.feces/dss.mean.med.txt", sep="\t")
##--------------------pairwise comparisons from fitZig (output from contrasts.matrix)
##For d7 vs. d1 (Baseline removed for construction of linear model)
# Get the list of OTUs with coefficients, p-values, and F statistics from contrasts
contrasts.sig <- read.table("dss.feces/fitzig.contrasts.res.txt", header = T, sep = "\t")
head(contrasts.sig)
## TrialTimeDSS_Day10...TrialTimeDSS_Day7
## New.CleanUp.ReferenceOTU1669 7.519059
## New.CleanUp.ReferenceOTU4077 4.198806
## New.CleanUp.ReferenceOTU8703 4.969228
## New.ReferenceOTU252 6.127237
## New.CleanUp.ReferenceOTU1784 3.723826
## 4426298 6.549897
## TrialTimeDSS_Day7...TrialTimeDSS_Day4
## New.CleanUp.ReferenceOTU1669 0.8910144
## New.CleanUp.ReferenceOTU4077 -1.8814231
## New.CleanUp.ReferenceOTU8703 -0.4480117
## New.ReferenceOTU252 0.6872378
## New.CleanUp.ReferenceOTU1784 -0.1164808
## 4426298 -2.1502478
## TrialTimeDSS_Day4...TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU1669 -0.2004371
## New.CleanUp.ReferenceOTU4077 3.2751716
## New.CleanUp.ReferenceOTU8703 1.3799631
## New.ReferenceOTU252 0.5371356
## New.CleanUp.ReferenceOTU1784 2.6786647
## 4426298 1.7784776
## TrialTimeDSS_Day7...TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU1669 0.6905774
## New.CleanUp.ReferenceOTU4077 1.3937485
## New.CleanUp.ReferenceOTU8703 0.9319514
## New.ReferenceOTU252 1.2243735
## New.CleanUp.ReferenceOTU1784 2.5621839
## 4426298 -0.3717702
## AveExpr F P.Value adj.P.Val
## New.CleanUp.ReferenceOTU1669 0.4720101 50.84309 2.189607e-10 1.850218e-07
## New.CleanUp.ReferenceOTU4077 0.4319282 48.14330 6.528607e-10 2.758337e-07
## New.CleanUp.ReferenceOTU8703 0.4577158 39.21376 1.592695e-09 4.126911e-07
## New.ReferenceOTU252 0.6219408 44.62457 1.953567e-09 4.126911e-07
## New.CleanUp.ReferenceOTU1784 0.7216865 42.70974 3.791315e-09 6.179945e-07
## 4426298 0.9788228 32.81423 4.388126e-09 6.179945e-07
##All adj.P.Values are less than 0.05
# Read in the matrix of CSS normalised and logged counts
# this is the entire dataset of normalized, logged counts which may be subsetted further on.
complete.norm.tbl <- read.table("dss.feces/dss.feces.css.norm.log.txt", header = T, sep = "\t", check.names = F)
head(complete.norm.tbl)
## 133 132 131 55 54
## New.CleanUp.ReferenceOTU31068 0.000000 4.805858 0.000000 2.398762 2.354798
## New.ReferenceOTU33 4.380161 5.180693 5.355208 1.649272 4.683211
## New.ReferenceOTU122 6.366284 6.201910 0.000000 3.255049 4.431364
## 360329 2.927504 5.409180 3.457248 0.000000 4.126056
## New.CleanUp.ReferenceOTU20966 2.434371 0.000000 2.936511 3.788739 7.441612
## New.CleanUp.ReferenceOTU6149 2.434371 3.749334 1.413536 0.000000 2.354798
## 69 21 66 405 317 48
## New.CleanUp.ReferenceOTU31068 1.900042 0 0.000000 8.368563 0 2.196679
## New.ReferenceOTU33 5.482714 0 0.000000 9.933805 0 0.000000
## New.ReferenceOTU122 6.594376 0 5.308398 0.000000 0 1.481358
## 360329 0.000000 0 0.000000 4.185230 0 0.000000
## New.CleanUp.ReferenceOTU20966 3.201120 0 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 5.294671 0 0.000000 5.458774 0 1.481358
## 24 8 6 85 29
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 0.000000 3.788739 3.598259
## New.ReferenceOTU33 0.000000 0.000000 0.000000 3.788739 0.000000
## New.ReferenceOTU122 0.000000 2.164889 0.000000 4.338479 0.000000
## 360329 2.549514 0.000000 3.896164 2.889523 2.233797
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 2.072150 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 2.072150 2.233797
## 44 4 82 81 72
## New.CleanUp.ReferenceOTU31068 3.628031 0.000000 0.000000 3.300059 0.000000
## New.ReferenceOTU33 4.568474 0.000000 0.000000 2.786535 7.079866
## New.ReferenceOTU122 0.000000 0.000000 3.420717 6.744090 0.000000
## 360329 0.000000 4.690568 0.000000 0.000000 4.576349
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 2.786535 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 4.224898 2.747234
## 31 86 20 19 63
## New.CleanUp.ReferenceOTU31068 0 0.000000 2.044394 2.526546 4.055282
## New.ReferenceOTU33 0 0.000000 0.000000 0.000000 0.000000
## New.ReferenceOTU122 0 2.804885 0.000000 0.000000 4.359750
## 360329 0 0.000000 0.000000 0.000000 3.139551
## New.CleanUp.ReferenceOTU20966 0 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0 0.000000 0.000000 0.000000 0.000000
## 70 84 38 134 35
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 1.836205 1.863353 2.609292
## New.ReferenceOTU33 0.000000 1.860597 0.000000 3.827068 0.000000
## New.ReferenceOTU122 4.392317 0.000000 0.000000 3.156327 2.609292
## 360329 0.000000 6.456841 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.823535 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 3.530332 0.000000
## 57 398 197 27 37
## New.CleanUp.ReferenceOTU31068 0.00000 0.00000 0.000000 5.005001 4.044733
## New.ReferenceOTU33 0.00000 0.00000 5.475028 0.000000 2.285689
## New.ReferenceOTU122 2.22126 0.00000 0.000000 0.000000 2.285689
## 360329 0.00000 3.70044 0.000000 3.841302 2.285689
## New.CleanUp.ReferenceOTU20966 0.00000 0.00000 0.000000 1.688056 0.000000
## New.CleanUp.ReferenceOTU6149 0.00000 0.00000 0.000000 1.688056 0.000000
## 83 2 33 71 68
## New.CleanUp.ReferenceOTU31068 5.835986 0.000000 0.00000 3.681935 0.000000
## New.ReferenceOTU33 2.609292 0.000000 0.00000 0.000000 5.486573
## New.ReferenceOTU122 2.609292 0.000000 3.73501 0.000000 0.000000
## 360329 0.000000 5.961222 0.00000 3.681935 5.082222
## New.CleanUp.ReferenceOTU20966 0.000000 2.272447 0.00000 0.000000 1.902933
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.00000 0.000000 1.902933
## 65 1 130 206 243
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 5.712787 0 0.000000
## New.ReferenceOTU33 0.000000 5.125085 0.000000 0 3.588494
## New.ReferenceOTU122 4.943073 0.000000 0.000000 0 0.000000
## 360329 0.000000 0.000000 0.000000 0 3.588494
## New.CleanUp.ReferenceOTU20966 0.000000 3.481492 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU6149 1.991387 0.000000 2.075681 0 2.225420
## 135 36 5 67 3
## New.CleanUp.ReferenceOTU31068 0.000000 2.555337 0.000000 5.537748 0.000000
## New.ReferenceOTU33 0.000000 2.555337 3.613055 4.013598 5.657353
## New.ReferenceOTU122 2.838719 2.555337 0.000000 0.000000 0.000000
## 360329 0.000000 2.555337 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.427083 2.246505 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 2.027481 0.000000 0.000000 2.259387 0.000000
## 41 7 45 60 51
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 2.126644 5.185796 0.000000
## New.ReferenceOTU33 0.000000 0.000000 5.778000 0.000000 0.000000
## New.ReferenceOTU122 1.787006 0.000000 0.000000 0.000000 0.000000
## 360329 0.000000 3.300059 0.000000 5.499775 3.788739
## New.CleanUp.ReferenceOTU20966 0.000000 2.439564 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 0.000000
## 49 235 218 23 46 25
## New.CleanUp.ReferenceOTU31068 2.176682 0 0.000000 0 2.471306 0
## New.ReferenceOTU33 2.651153 0 5.527095 0 0.000000 0
## New.ReferenceOTU122 1.464963 0 0.000000 0 0.000000 0
## 360329 0.000000 0 0.000000 0 0.000000 0
## New.CleanUp.ReferenceOTU20966 1.464963 0 3.090650 0 0.000000 0
## New.CleanUp.ReferenceOTU6149 0.000000 0 0.000000 0 0.000000 0
## 247 248 128 43 39
## New.CleanUp.ReferenceOTU31068 0.000000 0.000000 3.339720 2.115477 3.742427
## New.ReferenceOTU33 3.100264 3.868434 6.173285 3.459432 4.042633
## New.ReferenceOTU122 0.000000 0.000000 0.000000 0.000000 0.000000
## 360329 0.000000 5.603450 2.217117 3.459432 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 3.868434 3.578807 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 4.568474 0.000000 0.000000 0.000000 0.000000
## 129 53 388 50 61
## New.CleanUp.ReferenceOTU31068 3.227772 0.000000 0.000000 4.649408 0.000000
## New.ReferenceOTU33 0.000000 0.000000 0.000000 5.992102 3.969266
## New.ReferenceOTU122 2.374094 2.484834 6.105873 0.000000 1.975466
## 360329 5.791640 4.438935 0.000000 4.159263 4.428133
## New.CleanUp.ReferenceOTU20966 0.000000 1.721963 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 0.000000 4.428133
## 56 58 22 30 18
## New.CleanUp.ReferenceOTU31068 0.000000 1.885737 3.759069 4.160084 0.000000
## New.ReferenceOTU33 0.000000 0.000000 2.861874 4.465782 0.000000
## New.ReferenceOTU122 4.316067 0.000000 4.308068 4.717893 2.624793
## 360329 0.000000 5.977156 2.861874 2.383887 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 1.885737 3.759069 5.690219 0.000000
## New.CleanUp.ReferenceOTU6149 2.679290 0.000000 0.000000 3.238606 0.000000
## 42 59 40 52 34
## New.CleanUp.ReferenceOTU31068 4.739143 3.076379 0.000000 5.640647 5.408530
## New.ReferenceOTU33 5.970317 0.000000 0.000000 6.416915 0.000000
## New.ReferenceOTU122 0.000000 0.000000 3.305808 0.000000 2.487562
## 360329 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 0.000000 0.000000 0.000000
## New.CleanUp.ReferenceOTU6149 0.000000 0.000000 0.000000 4.790077 0.000000
## 47 62 17
## New.CleanUp.ReferenceOTU31068 4.173564 0.000000 0.000000
## New.ReferenceOTU33 1.941448 0.000000 0.000000
## New.ReferenceOTU122 4.384489 6.911727 0.000000
## 360329 0.000000 1.994607 0.000000
## New.CleanUp.ReferenceOTU20966 0.000000 0.000000 2.093551
## New.CleanUp.ReferenceOTU6149 2.740241 0.000000 0.000000
colnames(complete.norm.tbl)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "35" "57" "398"
## [34] "197" "27" "37" "83" "2" "33" "71" "68" "65" "1" "130"
## [45] "206" "243" "135" "36" "5" "67" "3" "41" "7" "45" "60"
## [56] "51" "49" "235" "218" "23" "46" "25" "247" "248" "128" "43"
## [67] "39" "129" "53" "388" "50" "61" "56" "58" "22" "30" "18"
## [78] "42" "59" "40" "52" "34" "47" "62" "17"
colnames(complete.norm.tbl) <- c("d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "d3.2", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "d6.1", "d1.6", "d2.4", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1")
##Subset this table to the significant OTUs and remove unnecessary columns
contrasts.sig.tbl <- merge(contrasts.sig, complete.norm.tbl, by=0)
head(contrasts.sig.tbl)
## Row.names TrialTimeDSS_Day10...TrialTimeDSS_Day7
## 1 1035392 -0.1433486
## 2 13811 2.2237715
## 3 179018 5.6870720
## 4 194297 3.2879592
## 5 334340 5.9971125
## 6 4426298 6.5498968
## TrialTimeDSS_Day7...TrialTimeDSS_Day4
## 1 -3.161981410
## 2 1.718578109
## 3 -1.599390140
## 4 0.642701148
## 5 -0.008273408
## 6 -2.150247846
## TrialTimeDSS_Day4...TrialTimeDSS_Day1
## 1 3.2205170
## 2 0.8000658
## 3 4.1666701
## 4 -0.5783241
## 5 0.5786012
## 6 1.7784776
## TrialTimeDSS_Day7...TrialTimeDSS_Day1 AveExpr F P.Value
## 1 0.05853557 1.2456666 20.05628 4.525822e-08
## 2 2.51864392 0.3909961 26.15048 5.731846e-07
## 3 2.56727992 0.7453878 48.06417 1.343829e-08
## 4 0.06437702 0.3398894 23.07731 7.624838e-07
## 5 0.57032778 0.5386564 25.30748 2.652314e-07
## 6 -0.37177020 0.9788228 32.81423 4.388126e-09
## adj.P.Val d7.7 d10.3 d10.2 d5.6 d5.5 d7.3
## 1 3.476654e-06 2.927504 2.364398 3.997748 3.996141 0.000000 1.900042
## 2 2.105831e-05 1.679263 5.095714 0.000000 0.000000 0.000000 0.000000
## 3 1.622193e-06 0.000000 0.000000 6.245557 0.000000 5.531927 0.000000
## 4 2.577195e-05 2.434371 6.029350 0.000000 0.000000 0.000000 2.692535
## 5 1.179582e-05 0.000000 0.000000 8.927354 0.000000 0.000000 0.000000
## 6 6.179945e-07 0.000000 0.000000 7.763585 0.000000 0.000000 0.000000
## d1.5 d6.8 ff.d10.6 ff.base.4 d4.7 d1.8 base.8 base.6
## 1 5.93887 5.591270 0.000000 0.000000 0.000000 2.549514 2.164889 2.493040
## 2 0.00000 2.403771 0.000000 0.000000 0.000000 0.000000 2.164889 0.000000
## 3 0.00000 0.000000 4.185230 0.000000 2.672729 0.000000 2.164889 0.000000
## 4 0.00000 0.000000 1.950591 2.515254 1.481358 0.000000 3.900846 0.000000
## 5 0.00000 0.000000 0.000000 0.000000 1.481358 0.000000 3.517649 0.000000
## 6 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.563655
## d9.3 d2.3 d4.3 base.4 d8.4 d8.3 d8.2 d2.5
## 1 2.889523 3.071661 0.000000 0.000000 0.000000 2.786535 0.000000 2.238014
## 2 0.000000 0.000000 2.259387 4.227317 0.000000 0.000000 0.000000 2.238014
## 3 0.000000 0.000000 0.000000 2.184629 5.765483 0.000000 0.000000 0.000000
## 4 0.000000 0.000000 0.000000 0.000000 0.000000 2.786535 0.000000 0.000000
## 5 0.000000 0.000000 2.259387 0.000000 2.549514 0.000000 1.947533 0.000000
## 6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.106736
## d9.4 d1.4 d1.3 d6.6 d7.4 d9.2 d3.5 d10.4
## 1 0.000000 0 2.526546 3.139551 0.000000 0.000000 3.792176 0
## 2 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 0
## 3 0.000000 0 0.000000 0.000000 4.392317 0.000000 0.000000 0
## 4 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 0
## 5 0.000000 0 0.000000 0.000000 0.000000 4.625517 4.993146 0
## 6 1.997839 0 0.000000 0.000000 0.000000 0.000000 4.037748 0
## d3.2 d5.8 ff.base.5 ff.base.1 d2.2 d3.4 d9.1
## 1 4.728476 6.972028 0.000000 0 1.688056 2.285689 0.000000
## 2 0.000000 0.000000 2.321928 0 0.000000 0.000000 4.027342
## 3 0.000000 0.000000 0.000000 0 0.000000 0.000000 4.982412
## 4 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000
## 5 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000
## 6 3.485952 2.221260 5.727920 0 3.598259 5.886051 4.027342
## base.2 d2.6 d8.1 d7.2 d6.7 base.1 d10.1 ff.base.2
## 1 0.000000 3.068527 0.000000 0 1.991387 2.134165 2.075681 0.000000
## 2 2.272447 0.000000 2.790180 0 0.000000 0.000000 0.000000 0.000000
## 3 0.000000 0.000000 2.790180 0 0.000000 0.000000 9.774125 9.254453
## 4 4.029070 0.000000 0.000000 0 3.311586 3.863871 0.000000 0.000000
## 5 0.000000 0.000000 6.046333 0 0.000000 0.000000 0.000000 3.190628
## 6 4.984195 1.792045 7.431269 0 0.000000 0.000000 7.938833 3.190628
## ff.d10.2 d7.8 d3.3 base.5 d7.1 base.3 d3.8 base.7 d4.4
## 1 0.000000 0.000000 0 0 0 3.012057 2.561194 0 0.000000
## 2 4.740674 0.000000 0 0 0 2.180647 0.000000 0 0.000000
## 3 0.000000 3.354843 0 0 0 0.000000 0.000000 0 5.686642
## 4 0.000000 0.000000 0 0 0 0.000000 0.000000 0 0.000000
## 5 0.000000 0.000000 0 0 0 0.000000 3.433483 0 0.000000
## 6 2.225420 0.000000 0 0 0 5.754982 4.365122 0 0.000000
## d6.3 d5.2 d4.8 ff.d10.1 ff.base.3 d1.7 d4.5 d2.1
## 1 0.000000 6.503724 6.760146 0.000000 0.00000 0 6.658211 0.000000
## 2 0.000000 3.408085 0.000000 0.000000 0.00000 0 0.000000 0.000000
## 3 1.981799 0.000000 0.000000 3.519945 0.00000 0 0.000000 2.388820
## 4 0.000000 0.000000 2.176682 0.000000 0.00000 0 0.000000 0.000000
## 5 0.000000 0.000000 3.293196 0.000000 3.09065 0 0.000000 3.244061
## 6 4.620517 3.788739 4.074255 2.640529 0.00000 0 3.334984 7.093742
## ff.d10.3 ff.d10.4 d7.5 d4.2 d3.6 d7.6 d5.4 ff.d10.5
## 1 0.000000 0.000000 3.339720 5.47032 6.504355 4.148641 5.324827 0.000000
## 2 0.000000 0.000000 0.000000 0.00000 0.000000 5.791640 0.000000 0.000000
## 3 0.000000 0.000000 1.498158 0.00000 0.000000 3.227772 0.000000 0.000000
## 4 0.000000 2.963977 0.000000 0.00000 0.000000 0.000000 2.484834 2.465945
## 5 0.000000 0.000000 0.000000 0.00000 0.000000 2.374094 1.721963 0.000000
## 6 2.259387 0.000000 0.000000 0.00000 4.851188 0.000000 0.000000 0.000000
## d5.1 d6.4 d5.7 d6.1 d1.6 d2.4 d1.2 d4.1
## 1 5.992102 0 0.000000 6.037602 2.047816 2.383887 3.129603 6.586700
## 2 4.341780 0 0.000000 3.855700 0.000000 0.000000 0.000000 1.836205
## 3 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## 4 0.000000 0 0.000000 0.000000 2.047816 0.000000 1.841562 0.000000
## 5 0.000000 0 1.888579 4.312369 0.000000 0.000000 0.000000 0.000000
## 6 3.040702 0 0.000000 3.558472 0.000000 0.000000 0.000000 0.000000
## d6.2 d3.7 d5.3 d3.1 d4.6 d6.5 d1.1
## 1 0.000000 3.841302 0 4.840452 0 0 0
## 2 0.000000 0.000000 0 0.000000 0 0 0
## 3 8.839988 5.640647 0 0.000000 0 0 0
## 4 0.000000 0.000000 0 0.000000 0 0 0
## 5 7.362547 2.444785 0 0.000000 0 0 0
## 6 0.000000 2.444785 0 0.000000 0 0 0
##Renaming columns to state the time point and numbered replicate, instead of a barcode.
colnames(contrasts.sig.tbl) <- c("OTU", "Log2FC_d10v.d7", "Log2FC_d7v.d4", "Log2FC_d4v.d1", "Log2FC_d7v.d1", "AveExpr", "F.statistic", "P.value", "adj.P.value", "d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "d3.2", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "d6.1", "d1.6", "d2.4", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1")
contrasts.sig.counts.tbl <- contrasts.sig.tbl
head(contrasts.sig.counts.tbl)
## OTU Log2FC_d10v.d7 Log2FC_d7v.d4 Log2FC_d4v.d1 Log2FC_d7v.d1
## 1 1035392 -0.1433486 -3.161981410 3.2205170 0.05853557
## 2 13811 2.2237715 1.718578109 0.8000658 2.51864392
## 3 179018 5.6870720 -1.599390140 4.1666701 2.56727992
## 4 194297 3.2879592 0.642701148 -0.5783241 0.06437702
## 5 334340 5.9971125 -0.008273408 0.5786012 0.57032778
## 6 4426298 6.5498968 -2.150247846 1.7784776 -0.37177020
## AveExpr F.statistic P.value adj.P.value d7.7 d10.3
## 1 1.2456666 20.05628 4.525822e-08 3.476654e-06 2.927504 2.364398
## 2 0.3909961 26.15048 5.731846e-07 2.105831e-05 1.679263 5.095714
## 3 0.7453878 48.06417 1.343829e-08 1.622193e-06 0.000000 0.000000
## 4 0.3398894 23.07731 7.624838e-07 2.577195e-05 2.434371 6.029350
## 5 0.5386564 25.30748 2.652314e-07 1.179582e-05 0.000000 0.000000
## 6 0.9788228 32.81423 4.388126e-09 6.179945e-07 0.000000 0.000000
## d10.2 d5.6 d5.5 d7.3 d1.5 d6.8 ff.d10.6 ff.base.4
## 1 3.997748 3.996141 0.000000 1.900042 5.93887 5.591270 0.000000 0.000000
## 2 0.000000 0.000000 0.000000 0.000000 0.00000 2.403771 0.000000 0.000000
## 3 6.245557 0.000000 5.531927 0.000000 0.00000 0.000000 4.185230 0.000000
## 4 0.000000 0.000000 0.000000 2.692535 0.00000 0.000000 1.950591 2.515254
## 5 8.927354 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000
## 6 7.763585 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 0.000000
## d4.7 d1.8 base.8 base.6 d9.3 d2.3 d4.3 base.4
## 1 0.000000 2.549514 2.164889 2.493040 2.889523 3.071661 0.000000 0.000000
## 2 0.000000 0.000000 2.164889 0.000000 0.000000 0.000000 2.259387 4.227317
## 3 2.672729 0.000000 2.164889 0.000000 0.000000 0.000000 0.000000 2.184629
## 4 1.481358 0.000000 3.900846 0.000000 0.000000 0.000000 0.000000 0.000000
## 5 1.481358 0.000000 3.517649 0.000000 0.000000 0.000000 2.259387 0.000000
## 6 0.000000 0.000000 0.000000 5.563655 0.000000 0.000000 0.000000 0.000000
## d8.4 d8.3 d8.2 d2.5 d9.4 d1.4 d1.3 d6.6
## 1 0.000000 2.786535 0.000000 2.238014 0.000000 0 2.526546 3.139551
## 2 0.000000 0.000000 0.000000 2.238014 0.000000 0 0.000000 0.000000
## 3 5.765483 0.000000 0.000000 0.000000 0.000000 0 0.000000 0.000000
## 4 0.000000 2.786535 0.000000 0.000000 0.000000 0 0.000000 0.000000
## 5 2.549514 0.000000 1.947533 0.000000 0.000000 0 0.000000 0.000000
## 6 0.000000 0.000000 0.000000 5.106736 1.997839 0 0.000000 0.000000
## d7.4 d9.2 d3.5 d10.4 d3.2 d5.8 ff.base.5 ff.base.1
## 1 0.000000 0.000000 3.792176 0 4.728476 6.972028 0.000000 0
## 2 0.000000 0.000000 0.000000 0 0.000000 0.000000 2.321928 0
## 3 4.392317 0.000000 0.000000 0 0.000000 0.000000 0.000000 0
## 4 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000 0
## 5 0.000000 4.625517 4.993146 0 0.000000 0.000000 0.000000 0
## 6 0.000000 0.000000 4.037748 0 3.485952 2.221260 5.727920 0
## d2.2 d3.4 d9.1 base.2 d2.6 d8.1 d7.2 d6.7
## 1 1.688056 2.285689 0.000000 0.000000 3.068527 0.000000 0 1.991387
## 2 0.000000 0.000000 4.027342 2.272447 0.000000 2.790180 0 0.000000
## 3 0.000000 0.000000 4.982412 0.000000 0.000000 2.790180 0 0.000000
## 4 0.000000 0.000000 0.000000 4.029070 0.000000 0.000000 0 3.311586
## 5 0.000000 0.000000 0.000000 0.000000 0.000000 6.046333 0 0.000000
## 6 3.598259 5.886051 4.027342 4.984195 1.792045 7.431269 0 0.000000
## base.1 d10.1 ff.base.2 ff.d10.2 d7.8 d3.3 base.5 d7.1 base.3
## 1 2.134165 2.075681 0.000000 0.000000 0.000000 0 0 0 3.012057
## 2 0.000000 0.000000 0.000000 4.740674 0.000000 0 0 0 2.180647
## 3 0.000000 9.774125 9.254453 0.000000 3.354843 0 0 0 0.000000
## 4 3.863871 0.000000 0.000000 0.000000 0.000000 0 0 0 0.000000
## 5 0.000000 0.000000 3.190628 0.000000 0.000000 0 0 0 0.000000
## 6 0.000000 7.938833 3.190628 2.225420 0.000000 0 0 0 5.754982
## d3.8 base.7 d4.4 d6.3 d5.2 d4.8 ff.d10.1 ff.base.3
## 1 2.561194 0 0.000000 0.000000 6.503724 6.760146 0.000000 0.00000
## 2 0.000000 0 0.000000 0.000000 3.408085 0.000000 0.000000 0.00000
## 3 0.000000 0 5.686642 1.981799 0.000000 0.000000 3.519945 0.00000
## 4 0.000000 0 0.000000 0.000000 0.000000 2.176682 0.000000 0.00000
## 5 3.433483 0 0.000000 0.000000 0.000000 3.293196 0.000000 3.09065
## 6 4.365122 0 0.000000 4.620517 3.788739 4.074255 2.640529 0.00000
## d1.7 d4.5 d2.1 ff.d10.3 ff.d10.4 d7.5 d4.2 d3.6
## 1 0 6.658211 0.000000 0.000000 0.000000 3.339720 5.47032 6.504355
## 2 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000
## 3 0 0.000000 2.388820 0.000000 0.000000 1.498158 0.00000 0.000000
## 4 0 0.000000 0.000000 0.000000 2.963977 0.000000 0.00000 0.000000
## 5 0 0.000000 3.244061 0.000000 0.000000 0.000000 0.00000 0.000000
## 6 0 3.334984 7.093742 2.259387 0.000000 0.000000 0.00000 4.851188
## d7.6 d5.4 ff.d10.5 d5.1 d6.4 d5.7 d6.1 d1.6
## 1 4.148641 5.324827 0.000000 5.992102 0 0.000000 6.037602 2.047816
## 2 5.791640 0.000000 0.000000 4.341780 0 0.000000 3.855700 0.000000
## 3 3.227772 0.000000 0.000000 0.000000 0 0.000000 0.000000 0.000000
## 4 0.000000 2.484834 2.465945 0.000000 0 0.000000 0.000000 2.047816
## 5 2.374094 1.721963 0.000000 0.000000 0 1.888579 4.312369 0.000000
## 6 0.000000 0.000000 0.000000 3.040702 0 0.000000 3.558472 0.000000
## d2.4 d1.2 d4.1 d6.2 d3.7 d5.3 d3.1 d4.6 d6.5
## 1 2.383887 3.129603 6.586700 0.000000 3.841302 0 4.840452 0 0
## 2 0.000000 0.000000 1.836205 0.000000 0.000000 0 0.000000 0 0
## 3 0.000000 0.000000 0.000000 8.839988 5.640647 0 0.000000 0 0
## 4 0.000000 1.841562 0.000000 0.000000 0.000000 0 0.000000 0 0
## 5 0.000000 0.000000 0.000000 7.362547 2.444785 0 0.000000 0 0
## 6 0.000000 0.000000 0.000000 0.000000 2.444785 0 0.000000 0 0
## d1.1
## 1 0
## 2 0
## 3 0
## 4 0
## 5 0
## 6 0
contrasts.sig.counts.tbl$Log2FC_d10v.d7 <- NULL
contrasts.sig.counts.tbl$Log2FC_d7v.d4 <- NULL
contrasts.sig.counts.tbl$Log2FC_d4v.d1 <- NULL
contrasts.sig.counts.tbl$Log2FC_d7v.d1 <- NULL
contrasts.sig.counts.tbl$AveExpr <- NULL
contrasts.sig.counts.tbl$F.statistic <- NULL
contrasts.sig.counts.tbl$P.value <- NULL
contrasts.sig.counts.tbl$adj.P.value <- NULL
contrasts.sig.counts.tbl$d2.1 <- NULL
contrasts.sig.counts.tbl$d2.2 <- NULL
contrasts.sig.counts.tbl$d2.3 <- NULL
contrasts.sig.counts.tbl$d2.4 <- NULL
contrasts.sig.counts.tbl$d2.5 <- NULL
contrasts.sig.counts.tbl$d2.6 <- NULL
contrasts.sig.counts.tbl$d3.1 <- NULL
contrasts.sig.counts.tbl$d3.2 <- NULL
contrasts.sig.counts.tbl$d3.3 <- NULL
contrasts.sig.counts.tbl$d3.4 <- NULL
contrasts.sig.counts.tbl$d3.5 <- NULL
contrasts.sig.counts.tbl$d3.6 <- NULL
contrasts.sig.counts.tbl$d3.7 <- NULL
contrasts.sig.counts.tbl$d3.8 <- NULL
contrasts.sig.counts.tbl$d5.1 <- NULL
contrasts.sig.counts.tbl$d5.2 <- NULL
contrasts.sig.counts.tbl$d5.3 <- NULL
contrasts.sig.counts.tbl$d5.4 <- NULL
contrasts.sig.counts.tbl$d5.5 <- NULL
contrasts.sig.counts.tbl$d5.6 <- NULL
contrasts.sig.counts.tbl$d5.7 <- NULL
contrasts.sig.counts.tbl$d5.8 <- NULL
contrasts.sig.counts.tbl$d6.1 <- NULL
contrasts.sig.counts.tbl$d6.2 <- NULL
contrasts.sig.counts.tbl$d6.3 <- NULL
contrasts.sig.counts.tbl$d6.4 <- NULL
contrasts.sig.counts.tbl$d6.5 <- NULL
contrasts.sig.counts.tbl$d6.6 <- NULL
contrasts.sig.counts.tbl$d6.7 <- NULL
contrasts.sig.counts.tbl$d6.8 <- NULL
contrasts.sig.counts.tbl$d8.1 <- NULL
contrasts.sig.counts.tbl$d8.2 <- NULL
contrasts.sig.counts.tbl$d8.3 <- NULL
contrasts.sig.counts.tbl$d8.4 <- NULL
contrasts.sig.counts.tbl$d8.5 <- NULL
contrasts.sig.counts.tbl$d8.6 <- NULL
contrasts.sig.counts.tbl$d8.7 <- NULL
contrasts.sig.counts.tbl$d8.8 <- NULL
contrasts.sig.counts.tbl$d9.1 <- NULL
contrasts.sig.counts.tbl$d9.2 <- NULL
contrasts.sig.counts.tbl$d9.3 <- NULL
contrasts.sig.counts.tbl$d9.4 <- NULL
contrasts.sig.counts.tbl$d9.5 <- NULL
contrasts.sig.counts.tbl$d9.6 <- NULL
contrasts.sig.counts.tbl$d9.7 <- NULL
contrasts.sig.counts.tbl$d9.8 <- NULL
contrasts.sig.counts.tbl$ff.base.1 <- NULL
contrasts.sig.counts.tbl$ff.base.2 <- NULL
contrasts.sig.counts.tbl$ff.base.3 <- NULL
contrasts.sig.counts.tbl$ff.base.4 <- NULL
contrasts.sig.counts.tbl$ff.base.5 <- NULL
contrasts.sig.counts.tbl$ff.d10.1 <- NULL
contrasts.sig.counts.tbl$ff.d10.2 <- NULL
contrasts.sig.counts.tbl$ff.d10.3 <- NULL
contrasts.sig.counts.tbl$ff.d10.4 <- NULL
contrasts.sig.counts.tbl$ff.d10.5 <- NULL
contrasts.sig.counts.tbl$ff.d10.6 <- NULL
head(contrasts.sig.counts.tbl)
## OTU d7.7 d10.3 d10.2 d7.3 d1.5 d4.7 d1.8
## 1 1035392 2.927504 2.364398 3.997748 1.900042 5.93887 0.000000 2.549514
## 2 13811 1.679263 5.095714 0.000000 0.000000 0.00000 0.000000 0.000000
## 3 179018 0.000000 0.000000 6.245557 0.000000 0.00000 2.672729 0.000000
## 4 194297 2.434371 6.029350 0.000000 2.692535 0.00000 1.481358 0.000000
## 5 334340 0.000000 0.000000 8.927354 0.000000 0.00000 1.481358 0.000000
## 6 4426298 0.000000 0.000000 7.763585 0.000000 0.00000 0.000000 0.000000
## base.8 base.6 d4.3 base.4 d1.4 d1.3 d7.4 d10.4
## 1 2.164889 2.493040 0.000000 0.000000 0 2.526546 0.000000 0
## 2 2.164889 0.000000 2.259387 4.227317 0 0.000000 0.000000 0
## 3 2.164889 0.000000 0.000000 2.184629 0 0.000000 4.392317 0
## 4 3.900846 0.000000 0.000000 0.000000 0 0.000000 0.000000 0
## 5 3.517649 0.000000 2.259387 0.000000 0 0.000000 0.000000 0
## 6 0.000000 5.563655 0.000000 0.000000 0 0.000000 0.000000 0
## base.2 d7.2 base.1 d10.1 d7.8 base.5 d7.1 base.3 base.7
## 1 0.000000 0 2.134165 2.075681 0.000000 0 0 3.012057 0
## 2 2.272447 0 0.000000 0.000000 0.000000 0 0 2.180647 0
## 3 0.000000 0 0.000000 9.774125 3.354843 0 0 0.000000 0
## 4 4.029070 0 3.863871 0.000000 0.000000 0 0 0.000000 0
## 5 0.000000 0 0.000000 0.000000 0.000000 0 0 0.000000 0
## 6 4.984195 0 0.000000 7.938833 0.000000 0 0 5.754982 0
## d4.4 d4.8 d1.7 d4.5 d7.5 d4.2 d7.6 d1.6
## 1 0.000000 6.760146 0 6.658211 3.339720 5.47032 4.148641 2.047816
## 2 0.000000 0.000000 0 0.000000 0.000000 0.00000 5.791640 0.000000
## 3 5.686642 0.000000 0 0.000000 1.498158 0.00000 3.227772 0.000000
## 4 0.000000 2.176682 0 0.000000 0.000000 0.00000 0.000000 2.047816
## 5 0.000000 3.293196 0 0.000000 0.000000 0.00000 2.374094 0.000000
## 6 0.000000 4.074255 0 3.334984 0.000000 0.00000 0.000000 0.000000
## d1.2 d4.1 d4.6 d1.1
## 1 3.129603 6.586700 0 0
## 2 0.000000 1.836205 0 0
## 3 0.000000 0.000000 0 0
## 4 1.841562 0.000000 0 0
## 5 0.000000 0.000000 0 0
## 6 0.000000 0.000000 0 0
# Transpose the table
rownames(contrasts.sig.counts.tbl) <- contrasts.sig.counts.tbl$OTU
contrasts.sig.counts.tbl$OTU <- NULL
contrasts.sig.counts.tbl <- t(contrasts.sig.counts.tbl)
head(contrasts.sig.counts.tbl)
## 1035392 13811 179018 194297 334340 4426298 940433
## d7.7 2.927504 1.679263 0.000000 2.434371 0.000000 0.000000 0.00000
## d10.3 2.364398 5.095714 0.000000 6.029350 0.000000 0.000000 0.00000
## d10.2 3.997748 0.000000 6.245557 0.000000 8.927354 7.763585 0.00000
## d7.3 1.900042 0.000000 0.000000 2.692535 0.000000 0.000000 0.00000
## d1.5 5.938870 0.000000 0.000000 0.000000 0.000000 0.000000 3.26614
## d4.7 0.000000 0.000000 2.672729 1.481358 1.481358 0.000000 0.00000
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU1669
## d7.7 0.000000 0.000000
## d10.3 0.000000 0.000000
## d10.2 5.099206 0.000000
## d7.3 1.900042 0.000000
## d1.5 0.000000 0.000000
## d4.7 1.481358 1.481358
## New.CleanUp.ReferenceOTU17398 New.CleanUp.ReferenceOTU1784
## d7.7 0.000000 0
## d10.3 1.620440 0
## d10.2 2.936511 0
## d7.3 0.000000 0
## d1.5 0.000000 0
## d4.7 4.705403 0
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU29218
## d7.7 0.000000 0.000000
## d10.3 2.364398 0.000000
## d10.2 0.000000 4.872149
## d7.3 0.000000 0.000000
## d1.5 4.747499 0.000000
## d4.7 0.000000 0.000000
## New.CleanUp.ReferenceOTU30424 New.CleanUp.ReferenceOTU31330
## d7.7 2.927504 1.679263
## d10.3 0.000000 1.620440
## d10.2 4.140692 0.000000
## d7.3 3.201120 0.000000
## d1.5 0.000000 0.000000
## d4.7 1.481358 0.000000
## New.CleanUp.ReferenceOTU33036 New.CleanUp.ReferenceOTU35153
## d7.7 4.657015 0.000000
## d10.3 2.852811 0.000000
## d10.2 1.413536 7.220006
## d7.3 0.000000 0.000000
## d1.5 0.000000 0.000000
## d4.7 0.000000 0.000000
## New.CleanUp.ReferenceOTU4077 New.CleanUp.ReferenceOTU610
## d7.7 0.000000 0.000000
## d10.3 0.000000 0.000000
## d10.2 3.660752 0.000000
## d7.3 1.900042 0.000000
## d1.5 0.000000 0.000000
## d4.7 0.000000 1.481358
## New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU8703
## d7.7 0 0.000000
## d10.3 0 0.000000
## d10.2 0 6.113109
## d7.3 0 0.000000
## d1.5 0 0.000000
## d4.7 0 2.196679
## New.CleanUp.ReferenceOTU9735 New.ReferenceOTU252 New.ReferenceOTU47
## d7.7 0.000000 0.000000 0.000000
## d10.3 0.000000 0.000000 0.000000
## d10.2 7.859729 9.761366 5.804995
## d7.3 0.000000 0.000000 0.000000
## d1.5 0.000000 0.000000 0.000000
## d4.7 2.196679 2.196679 0.000000
## New.ReferenceOTU72
## d7.7 2.927504
## d10.3 0.000000
## d10.2 5.521212
## d7.3 0.000000
## d1.5 0.000000
## d4.7 1.481358
#Split into tables for d7 and d10
contrasts.base.sig <- subset(contrasts.sig.counts.tbl, grepl("^base", rownames(contrasts.sig.counts.tbl)))
contrasts.d1.sig <- subset(contrasts.sig.counts.tbl, grepl("^d1", rownames(contrasts.sig.counts.tbl)))
contrasts.d4.sig <- subset(contrasts.sig.counts.tbl, grepl("^d4", rownames(contrasts.sig.counts.tbl)))
contrasts.d7.sig <- subset(contrasts.sig.counts.tbl, grepl("^d7", rownames(contrasts.sig.counts.tbl)))
contrasts.d10.sig <- subset(contrasts.sig.counts.tbl, grepl("^d10", rownames(contrasts.sig.counts.tbl)))
##Calculating relative abundance data at an OTU level
#Read in the raw OTU table containing all samples (doesn't contain taxonomy)
otu.full.table <- read.table("dss.feces/str.otus.txt", sep = "\t", header = T, check.names = F)
colnames(otu.full.table)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "16" "35" "10"
## [34] "13" "57" "398" "197" "27" "37" "83" "2" "33" "71" "68"
## [45] "65" "1" "130" "206" "243" "135" "36" "5" "67" "3" "41"
## [56] "7" "45" "60" "51" "49" "235" "218" "23" "46" "25" "247"
## [67] "248" "128" "43" "39" "129" "53" "388" "50" "61" "56" "12"
## [78] "58" "22" "30" "11" "9" "18" "42" "59" "40" "52" "34"
## [89] "47" "62" "17" "15" "14"
##Renaming Sample labels from barcode number to time point and replicate number identifier for easier delineation later.
colnames(otu.full.table) <- c("d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "base2.8", "d3.2", "base2.2", "base2.5", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "base2.4", "d6.1", "d1.6", "d2.4", "base2.3", "base2.1", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1", "base2.7", "base2.6")
colnames(otu.full.table)
## [1] "d7.7" "d10.3" "d10.2" "d5.6" "d5.5"
## [6] "d7.3" "d1.5" "d6.8" "ff.d10.6" "ff.base.4"
## [11] "d4.7" "d1.8" "base.8" "base.6" "d9.3"
## [16] "d2.3" "d4.3" "base.4" "d8.4" "d8.3"
## [21] "d8.2" "d2.5" "d9.4" "d1.4" "d1.3"
## [26] "d6.6" "d7.4" "d9.2" "d3.5" "d10.4"
## [31] "base2.8" "d3.2" "base2.2" "base2.5" "d5.8"
## [36] "ff.base.5" "ff.base.1" "d2.2" "d3.4" "d9.1"
## [41] "base.2" "d2.6" "d8.1" "d7.2" "d6.7"
## [46] "base.1" "d10.1" "ff.base.2" "ff.d10.2" "d7.8"
## [51] "d3.3" "base.5" "d7.1" "base.3" "d3.8"
## [56] "base.7" "d4.4" "d6.3" "d5.2" "d4.8"
## [61] "ff.d10.1" "ff.base.3" "d1.7" "d4.5" "d2.1"
## [66] "ff.d10.3" "ff.d10.4" "d7.5" "d4.2" "d3.6"
## [71] "d7.6" "d5.4" "ff.d10.5" "d5.1" "d6.4"
## [76] "d5.7" "base2.4" "d6.1" "d1.6" "d2.4"
## [81] "base2.3" "base2.1" "d1.2" "d4.1" "d6.2"
## [86] "d3.7" "d5.3" "d3.1" "d4.6" "d6.5"
## [91] "d1.1" "base2.7" "base2.6"
##Subset OTU table to samples in the model
otu.abund.contrasts <- otu.full.table[,which(colnames(otu.full.table) %in% rownames(contrasts.sig.counts.tbl))]
head(otu.abund.contrasts)
## d7.7 d10.3 d10.2 d7.3 d1.5 d4.7 d1.8 base.8
## New.CleanUp.ReferenceOTU10212 2 0 0 0 0 1 0 11
## New.CleanUp.ReferenceOTU31068 0 13 0 1 0 2 0 0
## New.ReferenceOTU33 9 17 24 16 0 0 0 0
## New.ReferenceOTU122 37 35 0 35 0 1 0 1
## 360329 3 20 6 0 0 0 1 0
## New.CleanUp.ReferenceOTU20966 2 0 4 3 0 0 0 0
## base.6 d4.3 base.4 d1.4 d1.3 d7.4 d10.4
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 2 2
## New.CleanUp.ReferenceOTU31068 0 3 0 1 1 0 1
## New.ReferenceOTU33 0 6 0 0 0 0 5
## New.ReferenceOTU122 0 0 0 0 0 7 3
## 360329 3 0 7 0 0 0 0
## New.CleanUp.ReferenceOTU20966 0 0 0 0 0 0 0
## base.2 d7.2 base.1 d10.1 d7.8 base.5 d7.1
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 0 0 0 16 0 0 12
## New.ReferenceOTU33 0 16 10 0 0 3 4
## New.ReferenceOTU122 0 0 0 0 2 0 0
## 360329 16 12 0 0 0 0 0
## New.CleanUp.ReferenceOTU20966 1 1 3 0 0 1 0
## base.3 base.7 d4.4 d4.8 d1.7 d4.5 d7.5 d4.2
## New.CleanUp.ReferenceOTU10212 0 2 0 0 0 0 0 0
## New.CleanUp.ReferenceOTU31068 0 0 1 2 0 1 5 1
## New.ReferenceOTU33 14 0 16 3 0 0 39 3
## New.ReferenceOTU122 0 0 0 1 0 0 0 0
## 360329 0 2 0 0 0 0 2 3
## New.CleanUp.ReferenceOTU20966 0 1 0 1 0 0 6 0
## d7.6 d1.6 d1.2 d4.1 d4.6 d1.1
## New.CleanUp.ReferenceOTU10212 0 1 0 0 0 0
## New.CleanUp.ReferenceOTU31068 2 4 0 10 6 0
## New.ReferenceOTU33 0 2 0 24 1 0
## New.ReferenceOTU122 1 6 2 0 7 0
## 360329 13 2 0 0 0 0
## New.CleanUp.ReferenceOTU20966 0 4 0 0 0 1
# Convert OTU table to relative abundance table by taking proportions of total
contrasts.relabund.tbl <- sweep(otu.abund.contrasts,2,colSums(otu.abund.contrasts),`/`) * 100
head(contrasts.relabund.tbl)
## d7.7 d10.3 d10.2 d7.3
## New.CleanUp.ReferenceOTU10212 0.01223990 0.0000000 0.00000000 0.0000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.1021611 0.00000000 0.0121551
## New.ReferenceOTU33 0.05507956 0.1335953 0.09179927 0.1944816
## New.ReferenceOTU122 0.22643819 0.2750491 0.00000000 0.4254285
## 360329 0.01835985 0.1571709 0.02294982 0.0000000
## New.CleanUp.ReferenceOTU20966 0.01223990 0.0000000 0.01529988 0.0364653
## d1.5 d4.7 d1.8 base.8
## New.CleanUp.ReferenceOTU10212 0 0.009590486 0.00000000 0.12559945
## New.CleanUp.ReferenceOTU31068 0 0.019180972 0.00000000 0.00000000
## New.ReferenceOTU33 0 0.000000000 0.00000000 0.00000000
## New.ReferenceOTU122 0 0.009590486 0.00000000 0.01141813
## 360329 0 0.000000000 0.01462202 0.00000000
## New.CleanUp.ReferenceOTU20966 0 0.000000000 0.00000000 0.00000000
## base.6 d4.3 base.4 d1.4
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.0000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.07390983 0.0000000 0.00880902
## New.ReferenceOTU33 0.00000000 0.14781966 0.0000000 0.00000000
## New.ReferenceOTU122 0.00000000 0.00000000 0.0000000 0.00000000
## 360329 0.04511957 0.00000000 0.1146038 0.00000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.0000000 0.00000000
## d1.3 d7.4 d10.4 base.2
## New.CleanUp.ReferenceOTU10212 0.00000000 0.02823662 0.017990465 0.00000000
## New.CleanUp.ReferenceOTU31068 0.02399232 0.00000000 0.008995233 0.00000000
## New.ReferenceOTU33 0.00000000 0.00000000 0.044976163 0.00000000
## New.ReferenceOTU122 0.00000000 0.09882818 0.026985698 0.00000000
## 360329 0.00000000 0.00000000 0.000000000 0.25579536
## New.CleanUp.ReferenceOTU20966 0.00000000 0.00000000 0.000000000 0.01598721
## d7.2 base.1 d10.1 d7.8
## New.CleanUp.ReferenceOTU10212 0.00000000 0.0000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.0000000 0.07620499 0.00000000
## New.ReferenceOTU33 0.34253907 0.1637733 0.00000000 0.00000000
## New.ReferenceOTU122 0.00000000 0.0000000 0.00000000 0.02103271
## 360329 0.25690430 0.0000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.02140869 0.0491320 0.00000000 0.00000000
## base.5 d7.1 base.3 base.7
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.0000000 0.03336670
## New.CleanUp.ReferenceOTU31068 0.00000000 0.21413276 0.0000000 0.00000000
## New.ReferenceOTU33 0.08246289 0.07137759 0.2385415 0.00000000
## New.ReferenceOTU122 0.00000000 0.00000000 0.0000000 0.00000000
## 360329 0.00000000 0.00000000 0.0000000 0.03336670
## New.CleanUp.ReferenceOTU20966 0.02748763 0.00000000 0.0000000 0.01668335
## d4.4 d4.8 d1.7 d4.5
## New.CleanUp.ReferenceOTU10212 0.00000000 0.000000000 0 0.0000000
## New.CleanUp.ReferenceOTU31068 0.01514005 0.010792143 0 0.0162206
## New.ReferenceOTU33 0.24224073 0.016188215 0 0.0000000
## New.ReferenceOTU122 0.00000000 0.005396072 0 0.0000000
## 360329 0.00000000 0.000000000 0 0.0000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.005396072 0 0.0000000
## d7.5 d4.2 d7.6 d1.6
## New.CleanUp.ReferenceOTU10212 0.00000000 0.00000000 0.00000000 0.01470805
## New.CleanUp.ReferenceOTU31068 0.03610890 0.01687194 0.02853067 0.05883218
## New.ReferenceOTU33 0.28164945 0.05061583 0.00000000 0.02941609
## New.ReferenceOTU122 0.00000000 0.00000000 0.01426534 0.08824827
## 360329 0.01444356 0.05061583 0.18544936 0.02941609
## New.CleanUp.ReferenceOTU20966 0.04333069 0.00000000 0.00000000 0.05883218
## d1.2 d4.1 d4.6 d1.1
## New.CleanUp.ReferenceOTU10212 0.00000000 0.0000000 0.000000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.1024590 0.046838407 0.00000000
## New.ReferenceOTU33 0.00000000 0.2459016 0.007806401 0.00000000
## New.ReferenceOTU122 0.03601008 0.0000000 0.054644809 0.00000000
## 360329 0.00000000 0.0000000 0.000000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.00000000 0.0000000 0.000000000 0.01532802
head(rownames(contrasts.relabund.tbl))
## [1] "New.CleanUp.ReferenceOTU10212" "New.CleanUp.ReferenceOTU31068"
## [3] "New.ReferenceOTU33" "New.ReferenceOTU122"
## [5] "360329" "New.CleanUp.ReferenceOTU20966"
#Subset the abundance table to the significantly differentially abundant OTUs and tranpose it
contrasts.relabund.tbl <- contrasts.relabund.tbl[which(rownames(contrasts.relabund.tbl) %in% rownames(contrasts.sig)),]
contrasts.relabund.tbl <- t(contrasts.relabund.tbl)
contrasts.relabund.tbl # taxa are columns
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d7.7 0.000000000 0.067319461
## d10.3 0.000000000 0.023575639
## d10.2 0.000000000 0.003824969
## d7.3 0.000000000 0.000000000
## d1.5 0.000000000 0.000000000
## d4.7 0.000000000 0.000000000
## d1.8 0.000000000 0.000000000
## base.8 0.000000000 0.011418132
## base.6 0.000000000 0.030079711
## d4.3 0.197092880 0.000000000
## base.4 0.032743942 0.000000000
## d1.4 0.000000000 0.000000000
## d1.3 0.000000000 0.000000000
## d7.4 0.000000000 0.000000000
## d10.4 0.000000000 0.008995233
## base.2 0.015987210 0.000000000
## d7.2 0.000000000 0.000000000
## base.1 0.000000000 0.016377334
## d10.1 0.276243094 0.004762812
## d7.8 0.000000000 0.052581765
## base.5 0.000000000 0.000000000
## d7.1 0.053533191 0.000000000
## base.3 0.119270745 0.000000000
## base.7 0.000000000 0.016683350
## d4.4 0.000000000 0.000000000
## d4.8 0.000000000 0.010792143
## d1.7 0.000000000 0.000000000
## d4.5 0.000000000 0.000000000
## d7.5 0.007221781 0.000000000
## d4.2 0.084359710 0.000000000
## d7.6 0.085592011 0.000000000
## d1.6 0.000000000 0.014708045
## d1.2 0.000000000 0.000000000
## d4.1 0.010245902 0.000000000
## d4.6 0.000000000 0.007806401
## d1.1 0.000000000 0.000000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218
## d7.7 0.000000000 0.00000000
## d10.3 0.000000000 0.00000000
## d10.2 0.000000000 0.06502448
## d7.3 0.000000000 0.00000000
## d1.5 0.000000000 0.00000000
## d4.7 0.009590486 0.00000000
## d1.8 0.000000000 0.00000000
## base.8 0.000000000 0.00000000
## base.6 0.000000000 0.00000000
## d4.3 0.024636610 0.02463661
## base.4 0.000000000 0.00000000
## d1.4 0.000000000 0.00000000
## d1.3 0.023992322 0.00000000
## d7.4 0.000000000 0.00000000
## d10.4 0.000000000 0.00000000
## base.2 0.000000000 0.00000000
## d7.2 0.000000000 0.02140869
## base.1 0.000000000 0.00000000
## d10.1 2.162316632 0.37626215
## d7.8 0.000000000 0.00000000
## base.5 0.000000000 0.00000000
## d7.1 0.000000000 0.01784440
## base.3 0.170386778 0.00000000
## base.7 0.000000000 0.00000000
## d4.4 0.000000000 0.00000000
## d4.8 0.005396072 0.01618821
## d1.7 0.000000000 0.00000000
## d4.5 0.000000000 0.00000000
## d7.5 0.057774247 0.02888712
## d4.2 0.000000000 0.01687194
## d7.6 0.028530670 0.00000000
## d1.6 0.000000000 0.00000000
## d1.2 0.000000000 0.00000000
## d4.1 0.000000000 0.01024590
## d4.6 0.000000000 0.00000000
## d1.1 0.000000000 0.00000000
## 4426298 New.ReferenceOTU252 New.ReferenceOTU72
## d7.7 0.00000000 0.000000000 0.018359853
## d10.3 0.00000000 0.000000000 0.000000000
## d10.2 0.49724602 1.992809058 0.103274174
## d7.3 0.00000000 0.000000000 0.000000000
## d1.5 0.00000000 0.000000000 0.000000000
## d4.7 0.00000000 0.019180972 0.009590486
## d1.8 0.00000000 0.000000000 0.000000000
## base.8 0.00000000 0.000000000 0.011418132
## base.6 0.15039856 0.000000000 0.000000000
## d4.3 0.00000000 0.000000000 0.000000000
## base.4 0.00000000 0.000000000 0.016371971
## d1.4 0.00000000 0.000000000 0.000000000
## d1.3 0.00000000 0.000000000 0.000000000
## d7.4 0.00000000 0.000000000 0.014118311
## d10.4 0.00000000 0.000000000 0.017990465
## base.2 0.12789768 0.000000000 0.000000000
## d7.2 0.00000000 0.021408692 0.000000000
## base.1 0.00000000 0.000000000 0.000000000
## d10.1 0.36197371 0.542960564 2.905315298
## d7.8 0.00000000 0.000000000 0.000000000
## base.5 0.00000000 0.000000000 0.000000000
## d7.1 0.00000000 0.017844397 0.000000000
## base.3 0.25558017 0.000000000 0.000000000
## base.7 0.00000000 0.000000000 0.000000000
## d4.4 0.00000000 0.030280091 0.000000000
## d4.8 0.04856464 0.005396072 0.021584287
## d1.7 0.00000000 0.000000000 0.000000000
## d4.5 0.03244120 0.000000000 0.000000000
## d7.5 0.00000000 0.021665343 0.007221781
## d4.2 0.00000000 0.000000000 0.000000000
## d7.6 0.00000000 0.071326676 0.014265335
## d1.6 0.00000000 0.000000000 0.000000000
## d1.2 0.00000000 0.000000000 0.018005041
## d4.1 0.00000000 0.000000000 0.000000000
## d4.6 0.00000000 0.000000000 0.000000000
## d1.1 0.00000000 0.000000000 0.000000000
## New.CleanUp.ReferenceOTU610 940433 New.CleanUp.ReferenceOTU8184
## d7.7 0.000000000 0.00000000 0.000000000
## d10.3 0.000000000 0.00000000 0.000000000
## d10.2 0.000000000 0.00000000 0.000000000
## d7.3 0.000000000 0.00000000 0.000000000
## d1.5 0.000000000 0.03861004 0.000000000
## d4.7 0.009590486 0.00000000 0.000000000
## d1.8 0.000000000 0.11697617 0.000000000
## base.8 0.239780772 0.01141813 0.000000000
## base.6 0.105278989 0.00000000 0.000000000
## d4.3 0.000000000 0.00000000 0.049273220
## base.4 0.065487885 0.00000000 0.000000000
## d1.4 0.035236082 0.00000000 0.000000000
## d1.3 0.000000000 0.00000000 0.000000000
## d7.4 0.000000000 0.00000000 0.000000000
## d10.4 0.000000000 0.00000000 0.000000000
## base.2 0.047961631 0.00000000 0.000000000
## d7.2 0.000000000 0.00000000 0.000000000
## base.1 0.163773338 0.00000000 0.000000000
## d10.1 0.000000000 0.00000000 1.028767384
## d7.8 0.000000000 0.00000000 0.000000000
## base.5 0.054975261 0.00000000 0.000000000
## d7.1 0.000000000 0.00000000 0.000000000
## base.3 0.000000000 0.00000000 0.000000000
## base.7 0.383717050 0.00000000 0.016683350
## d4.4 0.000000000 0.00000000 0.000000000
## d4.8 0.000000000 0.00000000 0.005396072
## d1.7 0.085881141 0.24046719 0.000000000
## d4.5 0.000000000 0.00000000 0.000000000
## d7.5 0.000000000 0.00000000 0.151657399
## d4.2 0.000000000 0.00000000 0.067487768
## d7.6 0.000000000 0.00000000 0.014265335
## d1.6 0.661862039 0.00000000 0.000000000
## d1.2 0.252070580 0.00000000 0.000000000
## d4.1 0.000000000 0.00000000 0.020491803
## d4.6 0.000000000 0.02341920 0.000000000
## d1.1 0.137952177 0.00000000 0.015328020
## New.CleanUp.ReferenceOTU31330 New.CleanUp.ReferenceOTU2842
## d7.7 0.006119951 0.000000000
## d10.3 0.007858546 0.015717092
## d10.2 0.000000000 0.000000000
## d7.3 0.000000000 0.000000000
## d1.5 0.000000000 0.115830116
## d4.7 0.000000000 0.000000000
## d1.8 0.000000000 0.029244042
## base.8 0.000000000 0.000000000
## base.6 0.000000000 0.000000000
## d4.3 0.000000000 0.000000000
## base.4 0.000000000 0.000000000
## d1.4 0.000000000 0.070472163
## d1.3 0.000000000 0.143953935
## d7.4 0.000000000 0.000000000
## d10.4 0.008995233 0.008995233
## base.2 0.000000000 0.000000000
## d7.2 0.000000000 0.021408692
## base.1 0.000000000 0.000000000
## d10.1 0.000000000 0.000000000
## d7.8 0.031549059 0.010516353
## base.5 0.000000000 0.027487631
## d7.1 0.000000000 0.000000000
## base.3 0.000000000 0.000000000
## base.7 0.000000000 0.000000000
## d4.4 0.000000000 0.000000000
## d4.8 0.000000000 0.010792143
## d1.7 0.412229474 0.068704912
## d4.5 0.032441200 0.016220600
## d7.5 0.000000000 0.000000000
## d4.2 0.000000000 0.000000000
## d7.6 0.000000000 0.000000000
## d1.6 0.000000000 0.161788498
## d1.2 0.000000000 0.342095787
## d4.1 0.000000000 0.000000000
## d4.6 0.195160031 0.023419204
## d1.1 0.000000000 0.153280196
## New.CleanUp.ReferenceOTU13188 New.CleanUp.ReferenceOTU4077
## d7.7 0.000000000 0.00000000
## d10.3 0.000000000 0.00000000
## d10.2 0.076499388 0.02677479
## d7.3 0.012155099 0.01215510
## d1.5 0.000000000 0.00000000
## d4.7 0.009590486 0.00000000
## d1.8 0.000000000 0.00000000
## base.8 0.011418132 0.00000000
## base.6 0.000000000 0.00000000
## d4.3 0.123183050 0.14781966
## base.4 0.000000000 0.00000000
## d1.4 0.017618041 0.00000000
## d1.3 0.000000000 0.00000000
## d7.4 0.000000000 0.00000000
## d10.4 0.000000000 0.00000000
## base.2 0.000000000 0.00000000
## d7.2 0.000000000 0.00000000
## base.1 0.016377334 0.00000000
## d10.1 0.485806820 0.49056963
## d7.8 0.031549059 0.00000000
## base.5 0.000000000 0.02748763
## d7.1 0.214132762 0.07137759
## base.3 0.017038678 0.00000000
## base.7 0.033366700 0.01668335
## d4.4 0.030280091 0.00000000
## d4.8 0.043168573 0.02698036
## d1.7 0.000000000 0.00000000
## d4.5 0.048661800 0.00000000
## d7.5 0.000000000 0.00000000
## d4.2 0.000000000 0.00000000
## d7.6 0.000000000 0.00000000
## d1.6 0.000000000 0.00000000
## d1.2 0.000000000 0.00000000
## d4.1 0.000000000 0.00000000
## d4.6 0.000000000 0.00000000
## d1.1 0.000000000 0.00000000
## 179018 New.CleanUp.ReferenceOTU35153 13811 194297
## d7.7 0.000000000 0.00000000 0.006119951 0.012239902
## d10.3 0.000000000 0.00000000 0.125736739 0.243614931
## d10.2 0.172123623 0.34042228 0.000000000 0.000000000
## d7.3 0.000000000 0.00000000 0.000000000 0.024310198
## d1.5 0.000000000 0.00000000 0.000000000 0.000000000
## d4.7 0.028771459 0.00000000 0.000000000 0.009590486
## d1.8 0.000000000 0.00000000 0.000000000 0.000000000
## base.8 0.011418132 0.00000000 0.011418132 0.045672528
## base.6 0.000000000 0.00000000 0.000000000 0.000000000
## d4.3 0.000000000 0.00000000 0.024636610 0.000000000
## base.4 0.016371971 0.00000000 0.081859856 0.000000000
## d1.4 0.000000000 0.00880902 0.000000000 0.000000000
## d1.3 0.000000000 0.00000000 0.000000000 0.000000000
## d7.4 0.098828180 0.00000000 0.000000000 0.000000000
## d10.4 0.000000000 0.00000000 0.000000000 0.000000000
## base.2 0.000000000 0.01598721 0.015987210 0.063948841
## d7.2 0.000000000 0.00000000 0.000000000 0.000000000
## base.1 0.000000000 0.00000000 0.000000000 0.065509335
## d10.1 1.295484854 0.13335873 0.000000000 0.000000000
## d7.8 0.031549059 0.00000000 0.000000000 0.000000000
## base.5 0.000000000 0.00000000 0.000000000 0.000000000
## d7.1 0.000000000 0.00000000 0.000000000 0.000000000
## base.3 0.000000000 0.00000000 0.017038678 0.000000000
## base.7 0.000000000 0.00000000 0.000000000 0.000000000
## d4.4 0.227100681 0.00000000 0.000000000 0.000000000
## d4.8 0.000000000 0.00000000 0.000000000 0.010792143
## d1.7 0.000000000 0.00000000 0.000000000 0.000000000
## d4.5 0.000000000 0.01622060 0.000000000 0.000000000
## d7.5 0.007221781 0.08666137 0.000000000 0.000000000
## d4.2 0.000000000 0.00000000 0.000000000 0.000000000
## d7.6 0.028530670 0.01426534 0.185449358 0.000000000
## d1.6 0.000000000 0.00000000 0.000000000 0.014708045
## d1.2 0.000000000 0.00000000 0.000000000 0.018005041
## d4.1 0.000000000 0.00000000 0.010245902 0.000000000
## d4.6 0.000000000 0.00000000 0.000000000 0.000000000
## d1.1 0.000000000 0.00000000 0.000000000 0.000000000
## 334340 New.CleanUp.ReferenceOTU8703 1035392
## d7.7 0.000000000 0.00000000 0.018359853
## d10.3 0.000000000 0.00000000 0.015717092
## d10.2 1.116891065 0.15682375 0.034424725
## d7.3 0.000000000 0.00000000 0.012155099
## d1.5 0.000000000 0.00000000 0.270270270
## d4.7 0.009590486 0.01918097 0.000000000
## d1.8 0.000000000 0.00000000 0.014622021
## base.8 0.034254396 0.00000000 0.011418132
## base.6 0.000000000 0.00000000 0.015039856
## d4.3 0.024636610 0.02463661 0.000000000
## base.4 0.000000000 0.00000000 0.000000000
## d1.4 0.000000000 0.00000000 0.000000000
## d1.3 0.000000000 0.00000000 0.023992322
## d7.4 0.000000000 0.00000000 0.000000000
## d10.4 0.000000000 0.00000000 0.000000000
## base.2 0.000000000 0.00000000 0.000000000
## d7.2 0.000000000 0.02140869 0.000000000
## base.1 0.000000000 0.00000000 0.016377334
## d10.1 0.000000000 0.30958278 0.004762812
## d7.8 0.000000000 0.02103271 0.000000000
## base.5 0.000000000 0.00000000 0.000000000
## d7.1 0.000000000 0.03568879 0.000000000
## base.3 0.000000000 0.00000000 0.034077356
## base.7 0.000000000 0.00000000 0.000000000
## d4.4 0.000000000 0.01514005 0.000000000
## d4.8 0.026980358 0.00000000 0.329160371
## d1.7 0.000000000 0.00000000 0.000000000
## d4.5 0.000000000 0.00000000 0.356853204
## d7.5 0.000000000 0.00000000 0.036108904
## d4.2 0.000000000 0.10123165 0.219335245
## d7.6 0.014265335 0.00000000 0.057061341
## d1.6 0.000000000 0.00000000 0.014708045
## d1.2 0.000000000 0.00000000 0.054015124
## d4.1 0.000000000 0.00000000 0.379098361
## d4.6 0.000000000 0.00000000 0.000000000
## d1.1 0.000000000 0.00000000 0.000000000
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## d7.7 0.000000000 0.000000000
## d10.3 0.000000000 0.007858546
## d10.2 0.531670747 0.015299878
## d7.3 0.000000000 0.000000000
## d1.5 0.000000000 0.000000000
## d4.7 0.019180972 0.134266807
## d1.8 0.000000000 0.000000000
## base.8 0.000000000 0.011418132
## base.6 0.000000000 0.000000000
## d4.3 0.000000000 0.098546440
## base.4 0.000000000 0.016371971
## d1.4 0.000000000 0.000000000
## d1.3 0.000000000 0.023992322
## d7.4 0.014118311 0.000000000
## d10.4 0.000000000 0.000000000
## base.2 0.000000000 0.015987210
## d7.2 0.000000000 0.021408692
## base.1 0.000000000 0.000000000
## d10.1 0.047628120 0.000000000
## d7.8 0.084130823 0.000000000
## base.5 0.000000000 0.054975261
## d7.1 0.000000000 0.000000000
## base.3 0.000000000 0.000000000
## base.7 0.000000000 0.000000000
## d4.4 0.000000000 0.000000000
## d4.8 0.000000000 0.232031081
## d1.7 0.000000000 0.000000000
## d4.5 0.000000000 0.032441200
## d7.5 0.115548494 0.007221781
## d4.2 0.000000000 0.000000000
## d7.6 0.000000000 0.028530670
## d1.6 0.000000000 0.000000000
## d1.2 0.000000000 0.018005041
## d4.1 0.010245902 0.000000000
## d4.6 0.007806401 0.031225605
## d1.1 0.000000000 0.000000000
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## d7.7 0.018359853 0.000000000
## d10.3 0.000000000 0.000000000
## d10.2 0.038249694 0.126223990
## d7.3 0.036465297 0.000000000
## d1.5 0.000000000 0.000000000
## d4.7 0.009590486 0.000000000
## d1.8 0.000000000 0.000000000
## base.8 0.000000000 0.000000000
## base.6 0.000000000 0.000000000
## d4.3 0.024636610 3.744764720
## base.4 0.000000000 0.000000000
## d1.4 0.008809020 0.000000000
## d1.3 0.000000000 0.023992322
## d7.4 0.028236623 0.000000000
## d10.4 0.305837906 0.000000000
## base.2 0.000000000 0.000000000
## d7.2 0.000000000 0.000000000
## base.1 0.016377334 0.000000000
## d10.1 0.000000000 0.500095256
## d7.8 0.000000000 0.000000000
## base.5 0.000000000 0.000000000
## d7.1 0.000000000 1.713062099
## base.3 0.000000000 0.000000000
## base.7 0.000000000 0.016683350
## d4.4 0.000000000 0.000000000
## d4.8 0.000000000 0.005396072
## d1.7 0.000000000 0.000000000
## d4.5 0.032441200 0.000000000
## d7.5 0.007221781 0.238318769
## d4.2 0.016871942 0.000000000
## d7.6 0.000000000 0.000000000
## d1.6 0.000000000 0.000000000
## d1.2 0.018005041 0.000000000
## d4.1 0.000000000 0.450819672
## d4.6 0.023419204 0.000000000
## d1.1 0.000000000 0.000000000
# Split the abundance table into the different groups
contrasts.base.abund <- subset(contrasts.relabund.tbl,grepl("^base", rownames(contrasts.relabund.tbl)))
contrasts.d1.abund <- subset(contrasts.relabund.tbl,grepl("^d1", rownames(contrasts.relabund.tbl)))
contrasts.d4.abund <- subset(contrasts.relabund.tbl,grepl("^d4", rownames(contrasts.relabund.tbl)))
contrasts.d7.abund <- subset(contrasts.relabund.tbl,grepl("^d7", rownames(contrasts.relabund.tbl)))
contrasts.d10.abund <- subset(contrasts.relabund.tbl,grepl("^d10", rownames(contrasts.relabund.tbl)))
head(contrasts.d10.abund)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d10.3 0.0000000 0.023575639
## d10.2 0.0000000 0.003824969
## d10.4 0.0000000 0.008995233
## d10.1 0.2762431 0.004762812
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## d10.3 0.000000 0.00000000 0.0000000
## d10.2 0.000000 0.06502448 0.4972460
## d10.4 0.000000 0.00000000 0.0000000
## d10.1 2.162317 0.37626215 0.3619737
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## d10.3 0.0000000 0.00000000 0
## d10.2 1.9928091 0.10327417 0
## d10.4 0.0000000 0.01799047 0
## d10.1 0.5429606 2.90531530 0
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## d10.3 0 0.000000 0.007858546
## d10.2 0 0.000000 0.000000000
## d10.4 0 0.000000 0.008995233
## d10.1 0 1.028767 0.000000000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## d10.3 0.015717092 0.00000000
## d10.2 0.000000000 0.07649939
## d10.4 0.008995233 0.00000000
## d10.1 0.000000000 0.48580682
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## d10.3 0.00000000 0.0000000 0.0000000
## d10.2 0.02677479 0.1721236 0.3404223
## d10.4 0.00000000 0.0000000 0.0000000
## d10.1 0.49056963 1.2954849 0.1333587
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703
## d10.3 0.1257367 0.2436149 0.000000 0.0000000
## d10.2 0.0000000 0.0000000 1.116891 0.1568237
## d10.4 0.0000000 0.0000000 0.000000 0.0000000
## d10.1 0.0000000 0.0000000 0.000000 0.3095828
## 1035392 New.CleanUp.ReferenceOTU9735
## d10.3 0.015717092 0.00000000
## d10.2 0.034424725 0.53167075
## d10.4 0.000000000 0.00000000
## d10.1 0.004762812 0.04762812
## New.CleanUp.ReferenceOTU17398 New.CleanUp.ReferenceOTU30424
## d10.3 0.007858546 0.00000000
## d10.2 0.015299878 0.03824969
## d10.4 0.000000000 0.30583791
## d10.1 0.000000000 0.00000000
## New.ReferenceOTU47
## d10.3 0.0000000
## d10.2 0.1262240
## d10.4 0.0000000
## d10.1 0.5000953
# Put the tables of abundance and table of normalised values in the same order
# Contrasts Base
ord29 <- match(colnames(contrasts.base.abund), colnames(contrasts.base.sig))
contrasts.base.sig <- contrasts.base.sig[,ord29]
ord30 <- match(rownames(contrasts.base.abund), rownames(contrasts.base.sig))
contrasts.base.sig <- contrasts.base.sig[ord30,]
head(contrasts.base.sig)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## base.8 0.000000 2.164889
## base.6 0.000000 3.358855
## base.4 3.016532 0.000000
## base.2 2.272447 0.000000
## base.1 0.000000 2.134165
## base.5 0.000000 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## base.8 0 0 0.000000
## base.6 0 0 5.563655
## base.4 0 0 0.000000
## base.2 0 0 4.984195
## base.1 0 0 0.000000
## base.5 0 0 0.000000
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## base.8 0 2.164889 6.212778
## base.6 0 0.000000 5.062096
## base.4 0 2.184629 3.924518
## base.2 0 0.000000 3.643193
## base.1 0 0.000000 5.125085
## base.5 0 0.000000 3.085873
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## base.8 2.164889 0 0
## base.6 0.000000 0 0
## base.4 0.000000 0 0
## base.2 0.000000 0 0
## base.1 0.000000 0 0
## base.5 0.000000 0 0
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## base.8 0.000000 2.164889
## base.6 0.000000 0.000000
## base.4 0.000000 0.000000
## base.2 0.000000 0.000000
## base.1 0.000000 2.134165
## base.5 2.246505 0.000000
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## base.8 0.000000 2.164889 0.000000
## base.6 0.000000 0.000000 0.000000
## base.4 0.000000 2.184629 0.000000
## base.2 0.000000 0.000000 2.272447
## base.1 0.000000 0.000000 0.000000
## base.5 2.246505 0.000000 0.000000
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703 1035392
## base.8 2.164889 3.900846 3.517649 0 2.164889
## base.6 0.000000 0.000000 0.000000 0 2.493040
## base.4 4.227317 0.000000 0.000000 0 0.000000
## base.2 2.272447 4.029070 0.000000 0 0.000000
## base.1 0.000000 3.863871 0.000000 0 2.134165
## base.5 0.000000 0.000000 0.000000 0 0.000000
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## base.8 0 2.164889
## base.6 0 0.000000
## base.4 0 2.184629
## base.2 0 2.272447
## base.1 0 0.000000
## base.5 0 3.085873
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## base.8 0.000000 0
## base.6 0.000000 0
## base.4 0.000000 0
## base.2 0.000000 0
## base.1 2.134165 0
## base.5 0.000000 0
# Day 1
ord31 <- match(colnames(contrasts.d1.abund), colnames(contrasts.d1.sig))
contrasts.d1.sig <- contrasts.d1.sig[,ord31]
ord32 <- match(rownames(contrasts.d1.abund), rownames(contrasts.d1.sig))
contrasts.d1.sig <- contrasts.d1.sig[ord32,]
head(contrasts.d1.sig)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d10.3 0 2.852811
## d10.2 0 1.413536
## d1.5 0 0.000000
## d1.8 0 0.000000
## d1.4 0 0.000000
## d1.3 0 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## d10.3 0.000000 0.000000 0.000000
## d10.2 0.000000 4.872149 7.763585
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 0.000000 0.000000
## d1.4 0.000000 0.000000 0.000000
## d1.3 2.526546 0.000000 0.000000
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## d10.3 0.000000 0.000000 0.000000
## d10.2 9.761366 5.521212 0.000000
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 0.000000 0.000000
## d1.4 0.000000 0.000000 3.754888
## d1.3 0.000000 0.000000 0.000000
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## d10.3 0.000000 0 1.62044
## d10.2 0.000000 0 0.00000
## d1.5 3.266140 0 0.00000
## d1.8 5.315963 0 0.00000
## d1.4 0.000000 0 0.00000
## d1.3 0.000000 0 0.00000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## d10.3 2.364398 0.000000
## d10.2 0.000000 5.099206
## d1.5 4.747499 0.000000
## d1.8 3.420717 0.000000
## d1.4 4.700440 2.857981
## d1.3 4.886132 0.000000
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## d10.3 0.000000 0.000000 0.000000
## d10.2 3.660752 6.245557 7.220006
## d1.5 0.000000 0.000000 0.000000
## d1.8 0.000000 0.000000 0.000000
## d1.4 0.000000 0.000000 2.044394
## d1.3 0.000000 0.000000 0.000000
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703 1035392
## d10.3 5.095714 6.02935 0.000000 0.000000 2.364398
## d10.2 0.000000 0.00000 8.927354 6.113109 3.997748
## d1.5 0.000000 0.00000 0.000000 0.000000 5.938870
## d1.8 0.000000 0.00000 0.000000 0.000000 2.549514
## d1.4 0.000000 0.00000 0.000000 0.000000 0.000000
## d1.3 0.000000 0.00000 0.000000 0.000000 2.526546
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## d10.3 0.000000 1.620440
## d10.2 7.859729 2.936511
## d1.5 0.000000 0.000000
## d1.8 0.000000 0.000000
## d1.4 0.000000 0.000000
## d1.3 0.000000 2.526546
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## d10.3 0.000000 0.000000
## d10.2 4.140692 5.804995
## d1.5 0.000000 0.000000
## d1.8 0.000000 0.000000
## d1.4 2.044394 0.000000
## d1.3 0.000000 2.526546
#Day 4
ord33 <- match(colnames(contrasts.d4.abund), colnames(contrasts.d4.sig))
contrasts.d4.sig <- contrasts.d4.sig[,ord33]
ord34 <- match(rownames(contrasts.d4.abund), rownames(contrasts.d4.sig))
contrasts.d4.sig <- contrasts.d4.sig[ord34,]
head(contrasts.d4.sig)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d4.7 0.000000 0.000000
## d4.3 4.968230 0.000000
## d4.4 0.000000 0.000000
## d4.8 0.000000 2.176682
## d4.5 0.000000 0.000000
## d4.2 4.142958 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## d4.7 1.481358 0.000000 0.000000
## d4.3 2.259387 2.259387 0.000000
## d4.4 0.000000 0.000000 0.000000
## d4.8 1.464963 2.651153 4.074255
## d4.5 0.000000 0.000000 3.334984
## d4.2 0.000000 2.115477 0.000000
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## d4.7 2.196679 1.481358 1.481358
## d4.3 0.000000 0.000000 0.000000
## d4.4 2.951216 0.000000 0.000000
## d4.8 1.464963 3.007600 0.000000
## d4.5 0.000000 0.000000 0.000000
## d4.2 0.000000 0.000000 0.000000
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## d4.7 0 0.000000 0.000000
## d4.3 0 3.100264 0.000000
## d4.4 0 0.000000 0.000000
## d4.8 0 1.464963 0.000000
## d4.5 0 0.000000 3.334984
## d4.2 0 3.841302 0.000000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## d4.7 0.000000 1.481358
## d4.3 0.000000 4.317550
## d4.4 0.000000 2.951216
## d4.8 2.176682 3.914996
## d4.5 2.471306 3.871485
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## d4.7 0.000000 2.672729 0.000000
## d4.3 4.568474 0.000000 0.000000
## d4.4 0.000000 5.686642 0.000000
## d4.8 3.293196 0.000000 0.000000
## d4.5 0.000000 0.000000 2.471306
## d4.2 0.000000 0.000000 0.000000
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703 1035392
## d4.7 0.000000 1.481358 1.481358 2.196679 0.000000
## d4.3 2.259387 0.000000 2.259387 2.259387 0.000000
## d4.4 0.000000 0.000000 0.000000 2.126644 0.000000
## d4.8 0.000000 2.176682 3.293196 0.000000 6.760146
## d4.5 0.000000 0.000000 0.000000 0.000000 6.658211
## d4.2 0.000000 0.000000 0.000000 4.392317 5.470320
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## d4.7 2.196679 4.705403
## d4.3 0.000000 4.013598
## d4.4 0.000000 0.000000
## d4.8 0.000000 6.261234
## d4.5 0.000000 3.334984
## d4.2 0.000000 0.000000
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## d4.7 1.481358 0.000000
## d4.3 2.259387 9.171821
## d4.4 0.000000 0.000000
## d4.8 0.000000 1.464963
## d4.5 3.334984 0.000000
## d4.2 2.115477 0.000000
#Day 7
ord35 <- match(colnames(contrasts.d7.abund), colnames(contrasts.d7.sig))
contrasts.d7.sig <- contrasts.d7.sig[,ord35]
ord36 <- match(rownames(contrasts.d7.abund), rownames(contrasts.d7.sig))
contrasts.d7.sig <- contrasts.d7.sig[ord36,]
head(contrasts.d7.sig)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d7.7 0.000000 4.657015
## d7.3 0.000000 0.000000
## d7.4 0.000000 0.000000
## d7.2 0.000000 0.000000
## d7.8 0.000000 4.034270
## d7.1 3.628031 0.000000
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## d7.7 0 0.000000 0
## d7.3 0 0.000000 0
## d7.4 0 0.000000 0
## d7.2 0 1.902933 0
## d7.8 0 0.000000 0
## d7.1 0 2.259387 0
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## d7.7 0.000000 2.927504 0
## d7.3 0.000000 0.000000 0
## d7.4 0.000000 1.947533 0
## d7.2 1.902933 0.000000 0
## d7.8 0.000000 0.000000 0
## d7.1 2.259387 0.000000 0
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## d7.7 0 0 1.679263
## d7.3 0 0 0.000000
## d7.4 0 0 0.000000
## d7.2 0 0 0.000000
## d7.8 0 0 3.354843
## d7.1 0 0 0.000000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## d7.7 0.000000 0.000000
## d7.3 0.000000 1.900042
## d7.4 0.000000 0.000000
## d7.2 1.902933 0.000000
## d7.8 2.027481 3.354843
## d7.1 0.000000 5.537748
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## d7.7 0.000000 0.000000 0
## d7.3 1.900042 0.000000 0
## d7.4 0.000000 4.392317 0
## d7.2 0.000000 0.000000 0
## d7.8 0.000000 3.354843 0
## d7.1 4.013598 0.000000 0
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703 1035392
## d7.7 1.679263 2.434371 0 0.000000 2.927504
## d7.3 0.000000 2.692535 0 0.000000 1.900042
## d7.4 0.000000 0.000000 0 0.000000 0.000000
## d7.2 0.000000 0.000000 0 1.902933 0.000000
## d7.8 0.000000 0.000000 0 2.838719 0.000000
## d7.1 0.000000 0.000000 0 3.100264 0.000000
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## d7.7 0.000000 0.000000
## d7.3 0.000000 0.000000
## d7.4 1.947533 0.000000
## d7.2 0.000000 1.902933
## d7.8 4.678939 0.000000
## d7.1 0.000000 0.000000
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## d7.7 2.927504 0.000000
## d7.3 3.201120 0.000000
## d7.4 2.747234 0.000000
## d7.2 0.000000 0.000000
## d7.8 0.000000 0.000000
## d7.1 0.000000 8.510315
#Day 10
ord37 <- match(colnames(contrasts.d10.abund), colnames(contrasts.d10.sig))
contrasts.d10.sig <- contrasts.d10.sig[,ord37]
ord38 <- match(rownames(contrasts.d10.abund), rownames(contrasts.d10.sig))
contrasts.d10.sig <- contrasts.d10.sig[ord38,]
head(contrasts.d10.sig)
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU33036
## d10.3 0.00000 2.852811
## d10.2 0.00000 1.413536
## d10.4 0.00000 1.863353
## d10.1 7.55071 2.075681
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU29218 4426298
## d10.3 0.00000 0.000000 0.000000
## d10.2 0.00000 4.872149 7.763585
## d10.4 0.00000 0.000000 0.000000
## d10.1 10.51255 7.994463 7.938833
## New.ReferenceOTU252 New.ReferenceOTU72 New.CleanUp.ReferenceOTU610
## d10.3 0.000000 0.000000 0
## d10.2 9.761366 5.521212 0
## d10.4 0.000000 2.650086 0
## d10.1 8.521834 10.938414 0
## 940433 New.CleanUp.ReferenceOTU8184 New.CleanUp.ReferenceOTU31330
## d10.3 0 0.000000 1.620440
## d10.2 0 0.000000 0.000000
## d10.4 0 0.000000 1.863353
## d10.1 0 9.441977 0.000000
## New.CleanUp.ReferenceOTU2842 New.CleanUp.ReferenceOTU13188
## d10.3 2.364398 0.000000
## d10.2 0.000000 5.099206
## d10.4 1.863353 0.000000
## d10.1 0.000000 8.361831
## New.CleanUp.ReferenceOTU4077 179018 New.CleanUp.ReferenceOTU35153
## d10.3 0.000000 0.000000 0.000000
## d10.2 3.660752 6.245557 7.220006
## d10.4 0.000000 0.000000 0.000000
## d10.1 8.375864 9.774125 6.508304
## 13811 194297 334340 New.CleanUp.ReferenceOTU8703 1035392
## d10.3 5.095714 6.02935 0.000000 0.000000 2.364398
## d10.2 0.000000 0.00000 8.927354 6.113109 3.997748
## d10.4 0.000000 0.00000 0.000000 0.000000 0.000000
## d10.1 0.000000 0.00000 0.000000 7.714268 2.075681
## New.CleanUp.ReferenceOTU9735 New.CleanUp.ReferenceOTU17398
## d10.3 0.000000 1.620440
## d10.2 7.859729 2.936511
## d10.4 0.000000 0.000000
## d10.1 5.051126 0.000000
## New.CleanUp.ReferenceOTU30424 New.ReferenceOTU47
## d10.3 0.000000 0.000000
## d10.2 4.140692 5.804995
## d10.4 6.503186 0.000000
## d10.1 0.000000 8.403526
## Selecting OTUs that have a mean or median of at least 0.35%
# Work with data frames
contrasts.base.sig <- as.data.frame(contrasts.base.sig)
contrasts.d1.sig <- as.data.frame(contrasts.d1.sig)
contrasts.d4.sig <- as.data.frame(contrasts.d1.sig)
contrasts.d7.sig <- as.data.frame(contrasts.d1.sig)
contrasts.d10.sig <- as.data.frame(contrasts.d1.sig)
contrasts.base.abund <- as.data.frame(contrasts.base.abund)
contrasts.d1.abund <- as.data.frame(contrasts.d1.abund)
contrasts.d4.abund <- as.data.frame(contrasts.d4.abund)
contrasts.d7.abund <- as.data.frame(contrasts.d7.abund)
contrasts.d10.abund <- as.data.frame(contrasts.d10.abund)
# Select only OTUs above threshold
#threshold <- c()
#for (i in 1:length(d7.sig)) {
#threshold[i] <- ifelse(median(d7.abund[,i]) > 0.35 | median(base.abund[,i]) > 0.35 | mean(d7.abund[,i]) > 0.35 | mean(base.abund[,i]) > 0.35, names(d7.sig[i]), NA)
#}
#threshold <- threshold[!is.na(threshold)]
#threshold
## all OTUs above threshold.
##Export table of mean and median values for all significant OTUs
contrasts.table <- rownames(contrasts.sig)
mean.contrasts.base <- c()
mean.contrasts.d1 <- c()
mean.contrasts.d4 <- c()
mean.contrasts.d7 <- c()
mean.contrasts.d10 <- c()
median.contrasts.base <- c()
median.contrasts.d1 <- c()
median.contrasts.d4 <- c()
median.contrasts.d7 <- c()
median.contrasts.d10 <- c()
for (i in contrasts.table) {
mean.contrasts.base[i] <- mean(contrasts.base.abund[,i])
median.contrasts.base[i] <- median(contrasts.base.abund[,i])
mean.contrasts.d1[i] <- mean(contrasts.d1.abund[,i])
median.contrasts.d1[i] <- median(contrasts.d1.abund[,i])
mean.contrasts.d4[i] <- mean(contrasts.d4.abund[,i])
median.contrasts.d4[i] <- median(contrasts.d4.abund[,i])
mean.contrasts.d7[i] <- mean(contrasts.d7.abund[,i])
median.contrasts.d7[i] <- median(contrasts.d7.abund[,i])
mean.contrasts.d10[i] <- mean(contrasts.d10.abund[,i])
median.contrasts.d10[i] <- median(contrasts.d10.abund[,i])
}
contrasts.table <- data.frame(mean.contrasts.base, median.contrasts.base, mean.contrasts.d1, median.contrasts.d1, mean.contrasts.d4, median.contrasts.d4, mean.contrasts.d7, median.contrasts.d7, mean.contrasts.d10, median.contrasts.d10)
head(contrasts.table)
## mean.contrasts.base median.contrasts.base
## New.CleanUp.ReferenceOTU1669 0.021298347 0
## New.CleanUp.ReferenceOTU4077 0.005521373 0
## New.CleanUp.ReferenceOTU8703 0.000000000 0
## New.ReferenceOTU252 0.000000000 0
## New.CleanUp.ReferenceOTU1784 0.021000237 0
## 4426298 0.066734551 0
## mean.contrasts.d1 median.contrasts.d1
## New.CleanUp.ReferenceOTU1669 0.18219241 0
## New.CleanUp.ReferenceOTU4077 0.04311203 0
## New.CleanUp.ReferenceOTU8703 0.03886721 0
## New.ReferenceOTU252 0.21131414 0
## New.CleanUp.ReferenceOTU1784 0.02302026 0
## 4426298 0.07160164 0
## mean.contrasts.d4 median.contrasts.d4
## New.CleanUp.ReferenceOTU1669 0.004952896 0.000000000
## New.CleanUp.ReferenceOTU4077 0.021850002 0.000000000
## New.CleanUp.ReferenceOTU8703 0.020023660 0.007570023
## New.ReferenceOTU252 0.006857142 0.000000000
## New.CleanUp.ReferenceOTU1784 0.036462311 0.000000000
## 4426298 0.010125731 0.000000000
## mean.contrasts.d7 median.contrasts.d7
## New.CleanUp.ReferenceOTU1669 0.010788115 0.000000000
## New.CleanUp.ReferenceOTU4077 0.010441586 0.000000000
## New.CleanUp.ReferenceOTU8703 0.009766274 0.000000000
## New.ReferenceOTU252 0.016530638 0.008922198
## New.CleanUp.ReferenceOTU1784 0.018293373 0.000000000
## 4426298 0.000000000 0.000000000
## mean.contrasts.d10 median.contrasts.d10
## New.CleanUp.ReferenceOTU1669 0.54057916 0.00000000
## New.CleanUp.ReferenceOTU4077 0.12933610 0.01338739
## New.CleanUp.ReferenceOTU8703 0.11660163 0.07841187
## New.ReferenceOTU252 0.63394241 0.27148028
## New.CleanUp.ReferenceOTU1784 0.06906077 0.00000000
## 4426298 0.21480493 0.18098685
write.table(contrasts.table, "dss.feces/fitzig.contrasts.mean.med.txt", sep="\t")
##--------------------fitFeatureModel
##For d7 vs. baseline
# Get the list of OTUs with coefficients and p-values from fitFeature model
d7.base.sig <- read.table("dss.feces/ffit.d7.base.res.txt", header = T, sep = "\t")
# Cut out those with an adjusted p-value of > 0.05
d7.base.sig <- d7.base.sig[-which(d7.base.sig$adjPvalues >= 0.055),]
head(d7.base.sig)
## logFC se pvalues adjPvalues
## 703741 -4.897412 1.0274000 1.871731e-06 0.0004005504
## 545371 -2.942560 0.8423915 4.774422e-04 0.0437844541
## New.ReferenceOTU284 2.837908 0.8284795 6.138008e-04 0.0437844541
# Read in the matrix of CSS normalised and logged counts
d7.base.norm.tbl <- read.table("dss.feces/d7.base.norm.txt", header = T, sep = "\t", check.names = F)
head(d7.base.norm.tbl)
## 133 69 8 6 4
## New.CleanUp.ReferenceOTU32540 5.751234 4.823872 3.900846 3.358855 0.000000
## New.CleanUp.ReferenceOTU30597 0.000000 1.900042 2.164889 3.358855 0.000000
## New.ReferenceOTU158 5.179602 3.873932 2.164889 5.698383 3.924518
## New.CleanUp.ReferenceOTU17891 4.218870 3.576397 0.000000 2.493040 0.000000
## New.ReferenceOTU164 1.679263 1.900042 2.994334 0.000000 2.184629
## New.ReferenceOTU161 0.000000 0.000000 2.164889 0.000000 3.540808
## 70 2 68 1 135
## New.CleanUp.ReferenceOTU32540 1.947533 3.114839 0.000000 6.104266 3.354843
## New.CleanUp.ReferenceOTU30597 1.947533 2.272447 1.902933 0.000000 4.034270
## New.ReferenceOTU158 2.747234 6.538445 4.334717 3.863871 7.694559
## New.CleanUp.ReferenceOTU17891 1.947533 2.272447 4.334717 4.813455 4.034270
## New.ReferenceOTU164 1.947533 2.272447 2.695872 0.000000 4.678939
## New.ReferenceOTU161 0.000000 3.114839 3.204638 5.258826 4.842592
## 5 67 3 7 128
## New.CleanUp.ReferenceOTU32540 0.000000 0.000000 2.180647 3.835352 0.000000
## New.CleanUp.ReferenceOTU30597 3.085873 0.000000 0.000000 0.000000 2.217117
## New.ReferenceOTU158 6.445302 5.945000 4.222483 2.439564 8.926004
## New.CleanUp.ReferenceOTU17891 3.998310 0.000000 3.536141 0.000000 3.783847
## New.ReferenceOTU164 0.000000 6.887821 5.754982 3.300059 5.000987
## New.ReferenceOTU161 7.527638 9.657887 8.036086 4.224898 7.181506
## 129
## New.CleanUp.ReferenceOTU32540 0.000000
## New.CleanUp.ReferenceOTU30597 0.000000
## New.ReferenceOTU158 0.000000
## New.CleanUp.ReferenceOTU17891 0.000000
## New.ReferenceOTU164 2.374094
## New.ReferenceOTU161 4.706232
##Subset this table to the significant OTUs and remove unnecessary columns
d7.base.sig.tbl <- merge(d7.base.sig, d7.base.norm.tbl, by=0)
head(d7.base.sig.tbl)
## Row.names logFC se pvalues adjPvalues
## 1 545371 -2.942560 0.8423915 4.774422e-04 0.0437844541
## 2 703741 -4.897412 1.0274000 1.871731e-06 0.0004005504
## 3 New.ReferenceOTU284 2.837908 0.8284795 6.138008e-04 0.0437844541
## 133 69 8 6 4 70 2 68
## 1 1.679263 0.000000 0.000000 5.93511 6.486272 0.000000 8.481080 1.902933
## 2 3.829429 4.120472 9.187059 11.40864 11.722992 1.947533 9.626206 0.000000
## 3 0.000000 0.000000 2.164889 0.00000 2.184629 6.339850 4.584271 7.689854
## 1 135 5 67 3 7 128
## 1 0.000000 2.027481 3.613055 0.000000 6.788433 5.87091 0.000000
## 2 9.762875 0.000000 11.098039 4.013598 11.594732 12.12321 2.694758
## 3 6.173656 6.495548 2.246505 8.625487 0.000000 0.00000 8.882041
## 129
## 1 3.227772
## 2 5.896693
## 3 5.678331
##Renaming columns to state the time point and numbered replicate, instead of a barcode.
colnames(d7.base.sig.tbl) <- c("OTU", "logFC", "se", "Pvalues", "adjPvalues", "d7.7", "d7.3", "base.8", "base.6", "base.4", "d7.4", "base.2", "d7.2", "base.1", "d7.8", "base.5", "d7.1", "base.3", "base.7", "d7.5", "d7.6")
head(d7.base.sig.tbl)
## OTU logFC se Pvalues adjPvalues
## 1 545371 -2.942560 0.8423915 4.774422e-04 0.0437844541
## 2 703741 -4.897412 1.0274000 1.871731e-06 0.0004005504
## 3 New.ReferenceOTU284 2.837908 0.8284795 6.138008e-04 0.0437844541
## d7.7 d7.3 base.8 base.6 base.4 d7.4 base.2 d7.2
## 1 1.679263 0.000000 0.000000 5.93511 6.486272 0.000000 8.481080 1.902933
## 2 3.829429 4.120472 9.187059 11.40864 11.722992 1.947533 9.626206 0.000000
## 3 0.000000 0.000000 2.164889 0.00000 2.184629 6.339850 4.584271 7.689854
## base.1 d7.8 base.5 d7.1 base.3 base.7 d7.5
## 1 0.000000 2.027481 3.613055 0.000000 6.788433 5.87091 0.000000
## 2 9.762875 0.000000 11.098039 4.013598 11.594732 12.12321 2.694758
## 3 6.173656 6.495548 2.246505 8.625487 0.000000 0.00000 8.882041
## d7.6
## 1 3.227772
## 2 5.896693
## 3 5.678331
d7.base.sig.tbl$se <- NULL
d7.base.sig.tbl$Pvalues <- NULL
d7.base.sig.tbl$adjPvalues <- NULL
d7.base.sig.tbl$logFC <- NULL
head(d7.base.sig.tbl)
## OTU d7.7 d7.3 base.8 base.6 base.4
## 1 545371 1.679263 0.000000 0.000000 5.93511 6.486272
## 2 703741 3.829429 4.120472 9.187059 11.40864 11.722992
## 3 New.ReferenceOTU284 0.000000 0.000000 2.164889 0.00000 2.184629
## d7.4 base.2 d7.2 base.1 d7.8 base.5 d7.1
## 1 0.000000 8.481080 1.902933 0.000000 2.027481 3.613055 0.000000
## 2 1.947533 9.626206 0.000000 9.762875 0.000000 11.098039 4.013598
## 3 6.339850 4.584271 7.689854 6.173656 6.495548 2.246505 8.625487
## base.3 base.7 d7.5 d7.6
## 1 6.788433 5.87091 0.000000 3.227772
## 2 11.594732 12.12321 2.694758 5.896693
## 3 0.000000 0.00000 8.882041 5.678331
# Transpose the table
rownames(d7.base.sig.tbl) <- d7.base.sig.tbl$OTU
d7.base.sig.tbl$OTU <- NULL
d7.base.sig.tbl <- t(d7.base.sig.tbl)
head(d7.base.sig.tbl)
## 545371 703741 New.ReferenceOTU284
## d7.7 1.679263 3.829429 0.000000
## d7.3 0.000000 4.120472 0.000000
## base.8 0.000000 9.187059 2.164889
## base.6 5.935110 11.408644 0.000000
## base.4 6.486272 11.722992 2.184629
## d7.4 0.000000 1.947533 6.339850
#Split into tables for d7 and d10
d7.sig <- subset(d7.base.sig.tbl, grepl("^d7", rownames(d7.base.sig.tbl)))
base.sig <- subset(d7.base.sig.tbl, grepl("^base", rownames(d7.base.sig.tbl)))
##Calculating relative abundance data at an OTU level
#Read in the raw OTU table containing all samples (doesn't contain taxonomy)
otu.full.table <- read.table("dss.feces/str.otus.txt", sep = "\t", header = T, check.names = F)
colnames(otu.full.table)
## [1] "133" "132" "131" "55" "54" "69" "21" "66" "405" "317" "48"
## [12] "24" "8" "6" "85" "29" "44" "4" "82" "81" "72" "31"
## [23] "86" "20" "19" "63" "70" "84" "38" "134" "16" "35" "10"
## [34] "13" "57" "398" "197" "27" "37" "83" "2" "33" "71" "68"
## [45] "65" "1" "130" "206" "243" "135" "36" "5" "67" "3" "41"
## [56] "7" "45" "60" "51" "49" "235" "218" "23" "46" "25" "247"
## [67] "248" "128" "43" "39" "129" "53" "388" "50" "61" "56" "12"
## [78] "58" "22" "30" "11" "9" "18" "42" "59" "40" "52" "34"
## [89] "47" "62" "17" "15" "14"
##Renaming Sample labels from barcode number to time point and replicate number identifier for easier delineation later.
colnames(otu.full.table) <- c("d7.7", "d10.3", "d10.2", "d5.6", "d5.5", "d7.3", "d1.5", "d6.8", "ff.d10.6", "ff.base.4", "d4.7", "d1.8", "base.8", "base.6", "d9.3", "d2.3", "d4.3", "base.4", "d8.4", "d8.3", "d8.2", "d2.5", "d9.4", "d1.4", "d1.3", "d6.6", "d7.4", "d9.2", "d3.5", "d10.4", "base2.8", "d3.2", "base2.2", "base2.5", "d5.8", "ff.base.5", "ff.base.1", "d2.2", "d3.4", "d9.1", "base.2", "d2.6", "d8.1", "d7.2", "d6.7", "base.1", "d10.1", "ff.base.2", "ff.d10.2", "d7.8", "d3.3", "base.5", "d7.1", "base.3", "d3.8", "base.7", "d4.4", "d6.3", "d5.2", "d4.8", "ff.d10.1", "ff.base.3", "d1.7", "d4.5", "d2.1", "ff.d10.3", "ff.d10.4", "d7.5", "d4.2", "d3.6", "d7.6", "d5.4", "ff.d10.5", "d5.1", "d6.4", "d5.7", "base2.4", "d6.1", "d1.6", "d2.4", "base2.3", "base2.1", "d1.2", "d4.1", "d6.2", "d3.7", "d5.3", "d3.1", "d4.6", "d6.5", "d1.1", "base2.7", "base2.6")
colnames(otu.full.table)
## [1] "d7.7" "d10.3" "d10.2" "d5.6" "d5.5"
## [6] "d7.3" "d1.5" "d6.8" "ff.d10.6" "ff.base.4"
## [11] "d4.7" "d1.8" "base.8" "base.6" "d9.3"
## [16] "d2.3" "d4.3" "base.4" "d8.4" "d8.3"
## [21] "d8.2" "d2.5" "d9.4" "d1.4" "d1.3"
## [26] "d6.6" "d7.4" "d9.2" "d3.5" "d10.4"
## [31] "base2.8" "d3.2" "base2.2" "base2.5" "d5.8"
## [36] "ff.base.5" "ff.base.1" "d2.2" "d3.4" "d9.1"
## [41] "base.2" "d2.6" "d8.1" "d7.2" "d6.7"
## [46] "base.1" "d10.1" "ff.base.2" "ff.d10.2" "d7.8"
## [51] "d3.3" "base.5" "d7.1" "base.3" "d3.8"
## [56] "base.7" "d4.4" "d6.3" "d5.2" "d4.8"
## [61] "ff.d10.1" "ff.base.3" "d1.7" "d4.5" "d2.1"
## [66] "ff.d10.3" "ff.d10.4" "d7.5" "d4.2" "d3.6"
## [71] "d7.6" "d5.4" "ff.d10.5" "d5.1" "d6.4"
## [76] "d5.7" "base2.4" "d6.1" "d1.6" "d2.4"
## [81] "base2.3" "base2.1" "d1.2" "d4.1" "d6.2"
## [86] "d3.7" "d5.3" "d3.1" "d4.6" "d6.5"
## [91] "d1.1" "base2.7" "base2.6"
##Subset OTU table to samples in the model
otu.abund.d7.base <- otu.full.table[,which(colnames(otu.full.table) %in% rownames(d7.base.sig.tbl))]
head(otu.abund.d7.base)
## d7.7 d7.3 base.8 base.6 base.4 d7.4 base.2
## New.CleanUp.ReferenceOTU10212 2 0 11 0 0 2 0
## New.CleanUp.ReferenceOTU31068 0 1 0 0 0 0 0
## New.ReferenceOTU33 9 16 0 0 0 0 0
## New.ReferenceOTU122 37 35 1 0 0 7 0
## 360329 3 0 0 3 7 0 16
## New.CleanUp.ReferenceOTU20966 2 3 0 0 0 0 1
## d7.2 base.1 d7.8 base.5 d7.1 base.3 base.7
## New.CleanUp.ReferenceOTU10212 0 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU31068 0 0 0 0 12 0 0
## New.ReferenceOTU33 16 10 0 3 4 14 0
## New.ReferenceOTU122 0 0 2 0 0 0 0
## 360329 12 0 0 0 0 0 2
## New.CleanUp.ReferenceOTU20966 1 3 0 1 0 0 1
## d7.5 d7.6
## New.CleanUp.ReferenceOTU10212 0 0
## New.CleanUp.ReferenceOTU31068 5 2
## New.ReferenceOTU33 39 0
## New.ReferenceOTU122 0 1
## 360329 2 13
## New.CleanUp.ReferenceOTU20966 6 0
# Convert OTU table to relative abundance table by taking proportions of total
d7.base.relabund.tbl <- sweep(otu.abund.d7.base,2,colSums(otu.abund.d7.base),`/`) * 100
head(d7.base.relabund.tbl)
## d7.7 d7.3 base.8 base.6
## New.CleanUp.ReferenceOTU10212 0.01223990 0.0000000 0.12559945 0.00000000
## New.CleanUp.ReferenceOTU31068 0.00000000 0.0121551 0.00000000 0.00000000
## New.ReferenceOTU33 0.05507956 0.1944816 0.00000000 0.00000000
## New.ReferenceOTU122 0.22643819 0.4254285 0.01141813 0.00000000
## 360329 0.01835985 0.0000000 0.00000000 0.04511957
## New.CleanUp.ReferenceOTU20966 0.01223990 0.0364653 0.00000000 0.00000000
## base.4 d7.4 base.2 d7.2
## New.CleanUp.ReferenceOTU10212 0.0000000 0.02823662 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.0000000 0.00000000 0.00000000 0.00000000
## New.ReferenceOTU33 0.0000000 0.00000000 0.00000000 0.34253907
## New.ReferenceOTU122 0.0000000 0.09882818 0.00000000 0.00000000
## 360329 0.1146038 0.00000000 0.25579536 0.25690430
## New.CleanUp.ReferenceOTU20966 0.0000000 0.00000000 0.01598721 0.02140869
## base.1 d7.8 base.5 d7.1
## New.CleanUp.ReferenceOTU10212 0.0000000 0.00000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.0000000 0.00000000 0.00000000 0.21413276
## New.ReferenceOTU33 0.1637733 0.00000000 0.08246289 0.07137759
## New.ReferenceOTU122 0.0000000 0.02103271 0.00000000 0.00000000
## 360329 0.0000000 0.00000000 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU20966 0.0491320 0.00000000 0.02748763 0.00000000
## base.3 base.7 d7.5 d7.6
## New.CleanUp.ReferenceOTU10212 0.0000000 0.03336670 0.00000000 0.00000000
## New.CleanUp.ReferenceOTU31068 0.0000000 0.00000000 0.03610890 0.02853067
## New.ReferenceOTU33 0.2385415 0.00000000 0.28164945 0.00000000
## New.ReferenceOTU122 0.0000000 0.00000000 0.00000000 0.01426534
## 360329 0.0000000 0.03336670 0.01444356 0.18544936
## New.CleanUp.ReferenceOTU20966 0.0000000 0.01668335 0.04333069 0.00000000
head(rownames(d7.base.relabund.tbl))
## [1] "New.CleanUp.ReferenceOTU10212" "New.CleanUp.ReferenceOTU31068"
## [3] "New.ReferenceOTU33" "New.ReferenceOTU122"
## [5] "360329" "New.CleanUp.ReferenceOTU20966"
#Subset the abundance table to the significantly differentially abundant OTUs and tranpose it
d7.base.relabund.tbl <- d7.base.relabund.tbl[which(rownames(d7.base.relabund.tbl) %in% rownames(d7.base.sig)),]
d7.base.relabund.tbl <- t(d7.base.relabund.tbl)
head(d7.base.relabund.tbl) # taxa are columns
## 545371 703741 New.ReferenceOTU284
## d7.7 0.006119951 0.03671971 0.00000000
## d7.3 0.000000000 0.07293059 0.00000000
## base.8 0.000000000 1.90682804 0.01141813
## base.6 0.195518123 8.82839525 0.00000000
## base.4 0.409299280 15.60248854 0.01637197
## d7.4 0.000000000 0.01411831 0.39531272
# Split the abundance table into cases and controls
d7.abund <- subset(d7.base.relabund.tbl,grepl("^d7", rownames(d7.base.relabund.tbl)))
base.abund <- subset(d7.base.relabund.tbl,grepl("^base", rownames(d7.base.relabund.tbl)))
head(d7.abund)
## 545371 703741 New.ReferenceOTU284
## d7.7 0.006119951 0.03671971 0.0000000
## d7.3 0.000000000 0.07293059 0.0000000
## d7.4 0.000000000 0.01411831 0.3953127
## d7.2 0.021408692 0.00000000 1.6056519
## d7.8 0.010516353 0.00000000 0.3049742
## d7.1 0.000000000 0.07137759 1.8558173
head(base.abund)
## 545371 703741 New.ReferenceOTU284
## base.8 0.00000000 1.906828 0.01141813
## base.6 0.19551812 8.828395 0.00000000
## base.4 0.40929928 15.602489 0.01637197
## base.2 1.48681055 3.293365 0.09592326
## base.1 0.00000000 4.192597 0.34392401
## base.5 0.08246289 16.080264 0.02748763
# Put the tables of abundance and table of normalised values in the same order
# Cases
ord1 <- match(colnames(d7.abund), colnames(d7.sig))
d7.sig <- d7.sig[,ord1]
ord2 <- match(rownames(d7.abund), rownames(d7.sig))
d7.sig <- d7.sig[ord2,]
head(d7.sig)
## 545371 703741 New.ReferenceOTU284
## d7.7 1.679263 3.829429 0.000000
## d7.3 0.000000 4.120472 0.000000
## d7.4 0.000000 1.947533 6.339850
## d7.2 1.902933 0.000000 7.689854
## d7.8 2.027481 0.000000 6.495548
## d7.1 0.000000 4.013598 8.625487
# Controls
ord3 <- match(colnames(base.abund), colnames(base.sig))
base.sig <- base.sig[,ord3]
ord4 <- match(rownames(base.abund), rownames(base.sig))
base.sig <- base.sig[ord4,]
head(base.sig)
## 545371 703741 New.ReferenceOTU284
## base.8 0.000000 9.187059 2.164889
## base.6 5.935110 11.408644 0.000000
## base.4 6.486272 11.722992 2.184629
## base.2 8.481080 9.626206 4.584271
## base.1 0.000000 9.762875 6.173656
## base.5 3.613055 11.098039 2.246505
## Selecting OTUs that have a mean or median of at least 0.35%
# Work with data frames
d7.sig <- as.data.frame(d7.sig)
base.sig <- as.data.frame(base.sig)
d7.abund <- as.data.frame(d7.abund)
base.abund <- as.data.frame(base.abund)
# Select only OTUs above threshold
threshold <- c()
for (i in 1:length(d7.sig)) {
threshold[i] <- ifelse(median(d7.abund[,i]) > 0.35 | median(base.abund[,i]) > 0.35 | mean(d7.abund[,i]) > 0.35 | mean(base.abund[,i]) > 0.35, names(d7.sig[i]), NA)
}
threshold <- threshold[!is.na(threshold)]
head(threshold)
## [1] "545371" "703741" "New.ReferenceOTU284"
## all OTUs above threshold.
##Export table of mean and median values for all significant OTUs
d7.base.table <- rownames(d7.base.sig)
mean.d7 <- c()
mean.base <- c()
median.d7 <- c()
median.base <- c()
for (i in d7.base.table) {
mean.d7[i] <- mean(d7.abund[,i])
median.d7[i] <- median(d7.abund[,i])
mean.base[i] <- mean(base.abund[,i])
median.base[i] <- median(base.abund[,i])
}
d7.base.table <- data.frame(mean.d7, median.d7, mean.base, median.base)
head(d7.base.table)
## mean.d7 median.d7 mean.base median.base
## 703741 0.052065779 0.029192524 10.20369979 11.86861916
## 545371 0.008321958 0.003059976 0.36489668 0.20620084
## New.ReferenceOTU284 0.774519952 0.350143478 0.06189063 0.01389505
write.table(d7.base.table, "dss.feces/d7.base.mean.med.txt", sep="\t")
##For comparing healing time points to baseline.
# Subset the normalised logged counts to the OTUs above threshold
heal.sig.data <- heal.sig.counts.tbl
# Transpose it
heal.sig.data <- as.data.frame(t(heal.sig.data))
head(heal.sig.data)
## d10.3 d10.2 base.8 base.6 d9.3 base.4 d8.4 d8.3
## 127 0.0000 5.206649 2.238014 0.000000 0 0.000000 0.000000 0.000000
## 179018 0.0000 6.095192 2.238014 0.000000 0 2.225420 5.131578 0.000000
## 188931 0.0000 5.855148 0.000000 0.000000 0 0.000000 0.000000 0.000000
## 236734 0.0000 1.997839 2.238014 2.532239 0 3.062284 0.000000 1.994607
## 2992312 0.0000 4.354810 0.000000 0.000000 0 3.062284 0.000000 0.000000
## 300820 4.3473 3.319334 8.390481 7.175332 0 7.950256 2.034207 1.994607
## d8.2 d9.4 d9.2 d10.4 d9.1 base.2 d8.1
## 127 3.404948 0.000000 2.695872 0.000000 4.120472 0.000000 8.471827
## 179018 0.000000 0.000000 0.000000 0.000000 5.078391 0.000000 2.850235
## 188931 5.384305 0.000000 5.802052 0.000000 9.967226 0.000000 9.519478
## 236734 0.000000 6.275242 0.000000 9.182260 0.000000 0.000000 0.000000
## 2992312 0.000000 0.000000 4.124192 0.000000 5.649050 0.000000 7.500836
## 300820 3.943780 4.274159 6.118799 5.283195 2.692535 8.403704 4.691798
## base.1 d10.1 base.5 base.3 base.7
## 127 0.000000 9.862637 0.000000 0.000000 0.000000
## 179018 0.000000 9.826019 0.000000 0.000000 0.000000
## 188931 0.000000 10.589651 0.000000 0.000000 0.000000
## 236734 0.000000 0.000000 0.000000 2.217117 0.000000
## 2992312 0.000000 9.286173 0.000000 4.266650 0.000000
## 300820 5.749987 2.115477 4.365122 6.924076 7.786145
# Create a list of the fold-change coefficients to be plotted beside the heatmap
# Fold Changes for Day 10
heal.sig.coefs <- heal.sig.tbl[,c(1,3), drop=FALSE]
head(heal.sig.coefs)
## OTU Log2FC_day10
## 1 127 8.108370
## 2 179018 6.837762
## 3 188931 9.384557
## 4 236734 7.126641
## 5 2992312 5.574992
## 6 300820 -3.211522
rownames(heal.sig.coefs) <- heal.sig.coefs$OTU
head(heal.sig.coefs)
## OTU Log2FC_day10
## 127 127 8.108370
## 179018 179018 6.837762
## 188931 188931 9.384557
## 236734 236734 7.126641
## 2992312 2992312 5.574992
## 300820 300820 -3.211522
# Make sure they're in the same order as the data
heal.sig.coefs <- heal.sig.coefs[match(rownames(heal.sig.data), heal.sig.coefs$OTU),]
head(heal.sig.coefs)
## OTU Log2FC_day10
## 127 127 8.108370
## 179018 179018 6.837762
## 188931 188931 9.384557
## 236734 236734 7.126641
## 2992312 2992312 5.574992
## 300820 300820 -3.211522
#heal.sig.coefs <- heal.sig.coefs[,2:1]
colnames(heal.sig.coefs) <- c("OTU", "Log2FC Day 10 vs. Baseline")
head(heal.sig.coefs)
## OTU Log2FC Day 10 vs. Baseline
## 127 127 8.108370
## 179018 179018 6.837762
## 188931 188931 9.384557
## 236734 236734 7.126641
## 2992312 2992312 5.574992
## 300820 300820 -3.211522
# Include the genus level taxonomy in the rownames for nice image
heal.tax <- str.tax[,c("Order","Family", "Genus")]
head(heal.tax)
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
heal.tax <- heal.tax[which(rownames(heal.tax) %in% heal.sig.coefs$OTU),]
# Same order as data
heal.tax <- heal.tax[match(heal.sig.coefs$OTU, rownames(heal.tax)), ]
rownames(heal.sig.data) <- paste(rownames(heal.sig.data), " ", "(", heal.tax$Family, ")", sep = "")
head(heal.sig.data)
## d10.3 d10.2 base.8 base.6 d9.3
## 127 (f__Methanobacteriaceae) 0.0000 5.206649 2.238014 0.000000 0
## 179018 (f__Erysipelotrichaceae) 0.0000 6.095192 2.238014 0.000000 0
## 188931 (f__Veillonellaceae) 0.0000 5.855148 0.000000 0.000000 0
## 236734 (f__Clostridiaceae) 0.0000 1.997839 2.238014 2.532239 0
## 2992312 (f__Lachnospiraceae) 0.0000 4.354810 0.000000 0.000000 0
## 300820 (f__Erysipelotrichaceae) 4.3473 3.319334 8.390481 7.175332 0
## base.4 d8.4 d8.3 d8.2
## 127 (f__Methanobacteriaceae) 0.000000 0.000000 0.000000 3.404948
## 179018 (f__Erysipelotrichaceae) 2.225420 5.131578 0.000000 0.000000
## 188931 (f__Veillonellaceae) 0.000000 0.000000 0.000000 5.384305
## 236734 (f__Clostridiaceae) 3.062284 0.000000 1.994607 0.000000
## 2992312 (f__Lachnospiraceae) 3.062284 0.000000 0.000000 0.000000
## 300820 (f__Erysipelotrichaceae) 7.950256 2.034207 1.994607 3.943780
## d9.4 d9.2 d10.4 d9.1
## 127 (f__Methanobacteriaceae) 0.000000 2.695872 0.000000 4.120472
## 179018 (f__Erysipelotrichaceae) 0.000000 0.000000 0.000000 5.078391
## 188931 (f__Veillonellaceae) 0.000000 5.802052 0.000000 9.967226
## 236734 (f__Clostridiaceae) 6.275242 0.000000 9.182260 0.000000
## 2992312 (f__Lachnospiraceae) 0.000000 4.124192 0.000000 5.649050
## 300820 (f__Erysipelotrichaceae) 4.274159 6.118799 5.283195 2.692535
## base.2 d8.1 base.1 d10.1
## 127 (f__Methanobacteriaceae) 0.000000 8.471827 0.000000 9.862637
## 179018 (f__Erysipelotrichaceae) 0.000000 2.850235 0.000000 9.826019
## 188931 (f__Veillonellaceae) 0.000000 9.519478 0.000000 10.589651
## 236734 (f__Clostridiaceae) 0.000000 0.000000 0.000000 0.000000
## 2992312 (f__Lachnospiraceae) 0.000000 7.500836 0.000000 9.286173
## 300820 (f__Erysipelotrichaceae) 8.403704 4.691798 5.749987 2.115477
## base.5 base.3 base.7
## 127 (f__Methanobacteriaceae) 0.000000 0.000000 0.000000
## 179018 (f__Erysipelotrichaceae) 0.000000 0.000000 0.000000
## 188931 (f__Veillonellaceae) 0.000000 0.000000 0.000000
## 236734 (f__Clostridiaceae) 0.000000 2.217117 0.000000
## 2992312 (f__Lachnospiraceae) 0.000000 4.266650 0.000000
## 300820 (f__Erysipelotrichaceae) 4.365122 6.924076 7.786145
# Specify the variable to group/label samples by
colnames(heal.sig.data)
## [1] "d10.3" "d10.2" "base.8" "base.6" "d9.3" "base.4" "d8.4"
## [8] "d8.3" "d8.2" "d9.4" "d9.2" "d10.4" "d9.1" "base.2"
## [15] "d8.1" "base.1" "d10.1" "base.5" "base.3" "base.7"
heal.labels <- c("Final Heal (n=4)", "Final Heal (n=4)", "Baseline (n=8)", "Baseline (n=8)", "Day 9 (n=4)", "Baseline (n=8)", "Day 8 (n=4)", "Day 8 (n=4)", "Day 8 (n=4)", "Day 9 (n=4)", "Day 9 (n=4)", "Final Heal (n=4)", "Day 9 (n=4)", "Baseline (n=8)", "Day 8 (n=4)", "Baseline (n=8)","Final Heal (n=4)", "Baseline (n=8)", "Baseline (n=8)", "Baseline (n=8)")
heal.labels
## [1] "Final Heal (n=4)" "Final Heal (n=4)" "Baseline (n=8)"
## [4] "Baseline (n=8)" "Day 9 (n=4)" "Baseline (n=8)"
## [7] "Day 8 (n=4)" "Day 8 (n=4)" "Day 8 (n=4)"
## [10] "Day 9 (n=4)" "Day 9 (n=4)" "Final Heal (n=4)"
## [13] "Day 9 (n=4)" "Baseline (n=8)" "Day 8 (n=4)"
## [16] "Baseline (n=8)" "Final Heal (n=4)" "Baseline (n=8)"
## [19] "Baseline (n=8)" "Baseline (n=8)"
##Create the heatmap
##Heatmap shows the CSS normalized, logged abundance of OTUs that were determined to be significantly different.
tiff("./heal.fitzig.tiff", height=8, width=14, units="in", res=600)
superheat(heal.sig.data,
# Sort and label by labels (in same order as samples)
membership.cols = heal.labels,
# Order the rows and columns nicely by hierarchical clustering
pretty.order.rows = TRUE,
pretty.order.cols = TRUE,
# Make the OTU labels smaller and align the text
left.label.size = 0.25,
left.label.text.size = 4,
left.label.text.alignment = "left",
# Change the colours of the labels
left.label.col = "White",
bottom.label.col = c("Grey", "Grey50"),
# Remove the black lines
grid.hline = FALSE,
grid.vline = FALSE,
# Add the log fold-change plot
yr = heal.sig.coefs$"Log2FC Day 10 vs. Baseline",
yr.axis.name = "Log2 Fold Change Day 10 vs. Baseline")
while (!is.null(dev.list())) dev.off()
##For comparing DSS time points to baseline.
# Subset the normalised logged counts to the OTUs above threshold
dss.sig.data <- dss.sig.counts.tbl
# Transpose it
dss.sig.data <- as.data.frame(t(dss.sig.data))
head(dss.sig.data)
## d7.7 d5.6 d5.5 d7.3 d1.5 d6.8 d4.7
## 1013234 1.690270 2.408806 2.383887 0.000000 0 0.000000 4.407393
## 25562 0.000000 0.000000 0.000000 0.000000 0 0.000000 3.062284
## 322505 0.000000 1.657719 0.000000 1.920490 0 3.288644 0.000000
## 333363 4.540506 3.800230 2.383887 4.983708 0 0.000000 0.000000
## 334485 3.308694 0.000000 2.383887 0.000000 0 0.000000 1.504994
## 344804 0.000000 0.000000 0.000000 0.000000 0 2.429205 0.000000
## d1.8 base.8 base.6 d2.3 d4.3 base.4 d2.5
## 1013234 0.000000 5.662359 2.498548 0.000000 2.272447 2.225420 0.00000
## 25562 2.555337 4.876212 0.000000 3.071661 0.000000 2.225420 0.00000
## 322505 2.555337 0.000000 0.000000 3.071661 0.000000 4.740674 0.00000
## 333363 0.000000 0.000000 0.000000 3.071661 0.000000 0.000000 0.00000
## 334485 2.555337 7.786976 5.255852 3.071661 3.114839 0.000000 2.24225
## 344804 0.000000 0.000000 0.000000 0.000000 0.000000 4.527247 2.24225
## d1.4 d1.3 d6.6 d7.4 d3.5 d3.2 d5.8
## 1013234 2.068632 0 0.000000 1.962938 0.000000 0.000000 0.000000
## 25562 0.000000 0 0.000000 0.000000 2.624793 0.000000 0.000000
## 322505 0.000000 0 3.668885 0.000000 0.000000 0.000000 2.229599
## 333363 0.000000 0 2.294621 1.962938 0.000000 4.420089 0.000000
## 334485 0.000000 0 0.000000 0.000000 0.000000 0.000000 0.000000
## 344804 0.000000 0 0.000000 0.000000 2.624793 2.609292 2.229599
## d2.2 d3.4 base.2 d2.6 d7.2 d6.7 base.1 d7.8 d3.3
## 1013234 0.000000 0 6.210952 0.000000 0 2.812313 0 0 0
## 25562 1.701439 0 7.201181 0.000000 0 2.004339 0 0 0
## 322505 0.000000 0 5.302375 0.000000 0 0.000000 0 0 0
## 333363 2.460613 0 0.000000 0.000000 0 2.004339 0 0 0
## 334485 0.000000 0 0.000000 1.792045 0 0.000000 0 0 0
## 344804 0.000000 0 0.000000 0.000000 0 0.000000 0 0 0
## base.5 d7.1 base.3 d3.8 base.7 d4.4 d6.3 d5.2
## 1013234 0.000000 0 4.695495 0.000000 0.000000 0 0.000000 0
## 25562 4.563250 0 0.000000 3.443148 0.000000 0 1.997839 0
## 322505 0.000000 0 0.000000 0.000000 5.357552 0 0.000000 0
## 333363 0.000000 0 0.000000 0.000000 0.000000 0 0.000000 0
## 334485 0.000000 0 0.000000 0.000000 6.689610 0 0.000000 0
## 344804 2.255073 0 6.798573 0.000000 0.000000 0 2.804885 0
## d4.8 d1.7 d4.5 d2.1 d7.5 d4.2 d3.6 d7.6 d5.4
## 1013234 0.000000 0 0.000000 0.000000 0 0.000000 0.000000 0 0
## 25562 4.497148 0 0.000000 0.000000 0 0.000000 0.000000 0 0
## 322505 0.000000 0 0.000000 0.000000 0 0.000000 0.000000 0 0
## 333363 3.034611 0 5.544179 0.000000 0 0.000000 0.000000 0 0
## 334485 0.000000 0 0.000000 0.000000 0 2.126644 0.000000 0 0
## 344804 1.484685 0 0.000000 3.777353 0 0.000000 2.034207 0 0
## d5.1 d6.4 d5.7 d6.1 d1.6 d2.4 d1.2 d4.1
## 1013234 0 0.000000 0.000000 0.00000 0.000000 0.000000 1.860597 0
## 25562 0 0.000000 0.000000 0.00000 2.865782 0.000000 1.860597 0
## 322505 0 1.981799 0.000000 0.00000 2.051252 0.000000 0.000000 0
## 333363 0 0.000000 0.000000 0.00000 6.314993 6.202605 0.000000 0
## 334485 0 0.000000 0.000000 0.00000 2.051252 2.398762 0.000000 0
## 344804 0 0.000000 3.288644 1.89143 0.000000 0.000000 0.000000 0
## d6.2 d3.7 d5.3 d3.1 d4.6 d6.5 d1.1
## 1013234 0 0.000000 0 0 0 0.000000 0
## 25562 0 2.465945 0 0 0 0.000000 0
## 322505 0 0.000000 0 0 0 2.040985 0
## 333363 0 0.000000 0 0 0 3.370973 0
## 334485 0 0.000000 0 0 0 0.000000 0
## 344804 0 0.000000 0 0 0 0.000000 0
# Create a list of the fold-change coefficients to be plotted beside the heatmap
# Fold Changes for Day 7
dss.sig.coefs <- dss.sig.tbl[,c(1,9), drop=FALSE]
head(dss.sig.coefs)
## OTU Log2FC_day7
## 1 1013234 -2.624902
## 2 25562 -3.486846
## 3 322505 -2.334120
## 4 333363 3.019606
## 5 334485 -2.320059
## 6 344804 -2.945753
rownames(dss.sig.coefs) <- dss.sig.coefs$OTU
head(dss.sig.coefs)
## OTU Log2FC_day7
## 1013234 1013234 -2.624902
## 25562 25562 -3.486846
## 322505 322505 -2.334120
## 333363 333363 3.019606
## 334485 334485 -2.320059
## 344804 344804 -2.945753
# Make sure they're in the same order as the data
dss.sig.coefs <- dss.sig.coefs[match(rownames(dss.sig.data), dss.sig.coefs$OTU),]
head(dss.sig.coefs)
## OTU Log2FC_day7
## 1013234 1013234 -2.624902
## 25562 25562 -3.486846
## 322505 322505 -2.334120
## 333363 333363 3.019606
## 334485 334485 -2.320059
## 344804 344804 -2.945753
colnames(dss.sig.coefs) <- c("OTU", "Log2FC Day 7 vs. Baseline")
head(dss.sig.coefs)
## OTU Log2FC Day 7 vs. Baseline
## 1013234 1013234 -2.624902
## 25562 25562 -3.486846
## 322505 322505 -2.334120
## 333363 333363 3.019606
## 334485 334485 -2.320059
## 344804 344804 -2.945753
# Include the genus level taxonomy in the rownames for nice image
dss.tax <- str.tax[,c("Order","Family", "Genus")]
head(dss.tax)
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
dss.tax <- dss.tax[which(rownames(dss.tax) %in% dss.sig.coefs$OTU),]
# Same order as data
dss.tax <- dss.tax[match(dss.sig.coefs$OTU, rownames(dss.tax)), ]
rownames(dss.sig.data) <- paste(rownames(dss.sig.data), " ", "(", dss.tax$Family, ")", sep = "")
head(dss.sig.data)
## d7.7 d5.6 d5.5 d7.3 d1.5
## 1013234 (f__Prevotellaceae) 1.690270 2.408806 2.383887 0.000000 0
## 25562 (f__) 0.000000 0.000000 0.000000 0.000000 0
## 322505 (f__Lachnospiraceae) 0.000000 1.657719 0.000000 1.920490 0
## 333363 (f__Ruminococcaceae) 4.540506 3.800230 2.383887 4.983708 0
## 334485 (f__Clostridiaceae) 3.308694 0.000000 2.383887 0.000000 0
## 344804 (f__Ruminococcaceae) 0.000000 0.000000 0.000000 0.000000 0
## d6.8 d4.7 d1.8 base.8 base.6
## 1013234 (f__Prevotellaceae) 0.000000 4.407393 0.000000 5.662359 2.498548
## 25562 (f__) 0.000000 3.062284 2.555337 4.876212 0.000000
## 322505 (f__Lachnospiraceae) 3.288644 0.000000 2.555337 0.000000 0.000000
## 333363 (f__Ruminococcaceae) 0.000000 0.000000 0.000000 0.000000 0.000000
## 334485 (f__Clostridiaceae) 0.000000 1.504994 2.555337 7.786976 5.255852
## 344804 (f__Ruminococcaceae) 2.429205 0.000000 0.000000 0.000000 0.000000
## d2.3 d4.3 base.4 d2.5 d1.4
## 1013234 (f__Prevotellaceae) 0.000000 2.272447 2.225420 0.00000 2.068632
## 25562 (f__) 3.071661 0.000000 2.225420 0.00000 0.000000
## 322505 (f__Lachnospiraceae) 3.071661 0.000000 4.740674 0.00000 0.000000
## 333363 (f__Ruminococcaceae) 3.071661 0.000000 0.000000 0.00000 0.000000
## 334485 (f__Clostridiaceae) 3.071661 3.114839 0.000000 2.24225 0.000000
## 344804 (f__Ruminococcaceae) 0.000000 0.000000 4.527247 2.24225 0.000000
## d1.3 d6.6 d7.4 d3.5 d3.2
## 1013234 (f__Prevotellaceae) 0 0.000000 1.962938 0.000000 0.000000
## 25562 (f__) 0 0.000000 0.000000 2.624793 0.000000
## 322505 (f__Lachnospiraceae) 0 3.668885 0.000000 0.000000 0.000000
## 333363 (f__Ruminococcaceae) 0 2.294621 1.962938 0.000000 4.420089
## 334485 (f__Clostridiaceae) 0 0.000000 0.000000 0.000000 0.000000
## 344804 (f__Ruminococcaceae) 0 0.000000 0.000000 2.624793 2.609292
## d5.8 d2.2 d3.4 base.2 d2.6 d7.2
## 1013234 (f__Prevotellaceae) 0.000000 0.000000 0 6.210952 0.000000 0
## 25562 (f__) 0.000000 1.701439 0 7.201181 0.000000 0
## 322505 (f__Lachnospiraceae) 2.229599 0.000000 0 5.302375 0.000000 0
## 333363 (f__Ruminococcaceae) 0.000000 2.460613 0 0.000000 0.000000 0
## 334485 (f__Clostridiaceae) 0.000000 0.000000 0 0.000000 1.792045 0
## 344804 (f__Ruminococcaceae) 2.229599 0.000000 0 0.000000 0.000000 0
## d6.7 base.1 d7.8 d3.3 base.5 d7.1
## 1013234 (f__Prevotellaceae) 2.812313 0 0 0 0.000000 0
## 25562 (f__) 2.004339 0 0 0 4.563250 0
## 322505 (f__Lachnospiraceae) 0.000000 0 0 0 0.000000 0
## 333363 (f__Ruminococcaceae) 2.004339 0 0 0 0.000000 0
## 334485 (f__Clostridiaceae) 0.000000 0 0 0 0.000000 0
## 344804 (f__Ruminococcaceae) 0.000000 0 0 0 2.255073 0
## base.3 d3.8 base.7 d4.4 d6.3 d5.2
## 1013234 (f__Prevotellaceae) 4.695495 0.000000 0.000000 0 0.000000 0
## 25562 (f__) 0.000000 3.443148 0.000000 0 1.997839 0
## 322505 (f__Lachnospiraceae) 0.000000 0.000000 5.357552 0 0.000000 0
## 333363 (f__Ruminococcaceae) 0.000000 0.000000 0.000000 0 0.000000 0
## 334485 (f__Clostridiaceae) 0.000000 0.000000 6.689610 0 0.000000 0
## 344804 (f__Ruminococcaceae) 6.798573 0.000000 0.000000 0 2.804885 0
## d4.8 d1.7 d4.5 d2.1 d7.5 d4.2
## 1013234 (f__Prevotellaceae) 0.000000 0 0.000000 0.000000 0 0.000000
## 25562 (f__) 4.497148 0 0.000000 0.000000 0 0.000000
## 322505 (f__Lachnospiraceae) 0.000000 0 0.000000 0.000000 0 0.000000
## 333363 (f__Ruminococcaceae) 3.034611 0 5.544179 0.000000 0 0.000000
## 334485 (f__Clostridiaceae) 0.000000 0 0.000000 0.000000 0 2.126644
## 344804 (f__Ruminococcaceae) 1.484685 0 0.000000 3.777353 0 0.000000
## d3.6 d7.6 d5.4 d5.1 d6.4 d5.7
## 1013234 (f__Prevotellaceae) 0.000000 0 0 0 0.000000 0.000000
## 25562 (f__) 0.000000 0 0 0 0.000000 0.000000
## 322505 (f__Lachnospiraceae) 0.000000 0 0 0 1.981799 0.000000
## 333363 (f__Ruminococcaceae) 0.000000 0 0 0 0.000000 0.000000
## 334485 (f__Clostridiaceae) 0.000000 0 0 0 0.000000 0.000000
## 344804 (f__Ruminococcaceae) 2.034207 0 0 0 0.000000 3.288644
## d6.1 d1.6 d2.4 d1.2 d4.1 d6.2
## 1013234 (f__Prevotellaceae) 0.00000 0.000000 0.000000 1.860597 0 0
## 25562 (f__) 0.00000 2.865782 0.000000 1.860597 0 0
## 322505 (f__Lachnospiraceae) 0.00000 2.051252 0.000000 0.000000 0 0
## 333363 (f__Ruminococcaceae) 0.00000 6.314993 6.202605 0.000000 0 0
## 334485 (f__Clostridiaceae) 0.00000 2.051252 2.398762 0.000000 0 0
## 344804 (f__Ruminococcaceae) 1.89143 0.000000 0.000000 0.000000 0 0
## d3.7 d5.3 d3.1 d4.6 d6.5 d1.1
## 1013234 (f__Prevotellaceae) 0.000000 0 0 0 0.000000 0
## 25562 (f__) 2.465945 0 0 0 0.000000 0
## 322505 (f__Lachnospiraceae) 0.000000 0 0 0 2.040985 0
## 333363 (f__Ruminococcaceae) 0.000000 0 0 0 3.370973 0
## 334485 (f__Clostridiaceae) 0.000000 0 0 0 0.000000 0
## 344804 (f__Ruminococcaceae) 0.000000 0 0 0 0.000000 0
# Specify the variable to group/label samples by
colnames(dss.sig.data)
## [1] "d7.7" "d5.6" "d5.5" "d7.3" "d1.5" "d6.8" "d4.7"
## [8] "d1.8" "base.8" "base.6" "d2.3" "d4.3" "base.4" "d2.5"
## [15] "d1.4" "d1.3" "d6.6" "d7.4" "d3.5" "d3.2" "d5.8"
## [22] "d2.2" "d3.4" "base.2" "d2.6" "d7.2" "d6.7" "base.1"
## [29] "d7.8" "d3.3" "base.5" "d7.1" "base.3" "d3.8" "base.7"
## [36] "d4.4" "d6.3" "d5.2" "d4.8" "d1.7" "d4.5" "d2.1"
## [43] "d7.5" "d4.2" "d3.6" "d7.6" "d5.4" "d5.1" "d6.4"
## [50] "d5.7" "d6.1" "d1.6" "d2.4" "d1.2" "d4.1" "d6.2"
## [57] "d3.7" "d5.3" "d3.1" "d4.6" "d6.5" "d1.1"
dss.labels <- c("Day 7 (n=8)", "Day 5 (n=8)", "Day 5 (n=8)", "Day 7 (n=8)", "Day 1 (n=8)", "Day 6 (n=8)", "Day 4 (n=8)", "Day 1 (n=8)", "Baseline (n=8)", "Baseline (n=8)", "Day 2 (n=6)", "Day 4 (n=8)", "Baseline (n=8)", "Day 2 (n=6)", "Day 1 (n=8)", "Day 1 (n=8)", "Day 6 (n=8)", "Day 7 (n=8)", "Day 3 (n=8)", "Day 3 (n=8)", "Day 5 (n=8)", "Day 2 (n=6)", "Day 3 (n=8)", "Baseline (n=8)", "Day 2 (n=6)", "Day 7 (n=8)", "Day 6 (n=8)", "Baseline (n=8)", "Day 7 (n=8)", "Day 3 (n=8)", "Baseline (n=8)", "Day 7 (n=8)", "Baseline (n=8)", "Day 3 (n=8)", "Baseline (n=8)", "Day 4 (n=8)", "Day 6 (n=8)", "Day 5 (n=8)", "Day 4 (n=8)", "Day 1 (n=8)", "Day 4 (n=8)", "Day 2 (n=6)", "Day 7 (n=8)", "Day 4 (n=8)", "Day 3 (n=8)", "Day 7 (n=8)", "Day 5 (n=8)", "Day 5 (n=8)", "Day 6 (n=8)", "Day 5 (n=8)", "Day 6 (n=8)", "Day 1 (n=8)", "Day 2 (n=6)", "Day 1 (n=8)", "Day 4 (n=8)", "Day 6 (n=8)", "Day 3 (n=8)", "Day 5 (n=8)", "Day 3 (n=8)", "Day 4 (n=8)", "Day 6 (n=8)", "Day 1 (n=8)")
dss.labels
## [1] "Day 7 (n=8)" "Day 5 (n=8)" "Day 5 (n=8)" "Day 7 (n=8)"
## [5] "Day 1 (n=8)" "Day 6 (n=8)" "Day 4 (n=8)" "Day 1 (n=8)"
## [9] "Baseline (n=8)" "Baseline (n=8)" "Day 2 (n=6)" "Day 4 (n=8)"
## [13] "Baseline (n=8)" "Day 2 (n=6)" "Day 1 (n=8)" "Day 1 (n=8)"
## [17] "Day 6 (n=8)" "Day 7 (n=8)" "Day 3 (n=8)" "Day 3 (n=8)"
## [21] "Day 5 (n=8)" "Day 2 (n=6)" "Day 3 (n=8)" "Baseline (n=8)"
## [25] "Day 2 (n=6)" "Day 7 (n=8)" "Day 6 (n=8)" "Baseline (n=8)"
## [29] "Day 7 (n=8)" "Day 3 (n=8)" "Baseline (n=8)" "Day 7 (n=8)"
## [33] "Baseline (n=8)" "Day 3 (n=8)" "Baseline (n=8)" "Day 4 (n=8)"
## [37] "Day 6 (n=8)" "Day 5 (n=8)" "Day 4 (n=8)" "Day 1 (n=8)"
## [41] "Day 4 (n=8)" "Day 2 (n=6)" "Day 7 (n=8)" "Day 4 (n=8)"
## [45] "Day 3 (n=8)" "Day 7 (n=8)" "Day 5 (n=8)" "Day 5 (n=8)"
## [49] "Day 6 (n=8)" "Day 5 (n=8)" "Day 6 (n=8)" "Day 1 (n=8)"
## [53] "Day 2 (n=6)" "Day 1 (n=8)" "Day 4 (n=8)" "Day 6 (n=8)"
## [57] "Day 3 (n=8)" "Day 5 (n=8)" "Day 3 (n=8)" "Day 4 (n=8)"
## [61] "Day 6 (n=8)" "Day 1 (n=8)"
##Create the heatmap
##Heatmap shows the CSS normalized, logged abundance of OTUs that were determined to be significantly different.
tiff("./dss.fitzig.tiff", height=8, width=16, units="in", res=600)
superheat(dss.sig.data,
# Sort and label by labels (in same order as samples)
membership.cols = dss.labels,
# Order the rows and columns nicely by hierarchical clustering
pretty.order.rows = TRUE,
pretty.order.cols = TRUE,
# Make the OTU labels smaller and align the text
left.label.size = 0.25,
left.label.text.size = 4,
left.label.text.alignment = "left",
# Change the colours of the labels
left.label.col = "White",
bottom.label.col = c("Grey", "Grey50"),
# Remove the black lines
grid.hline = FALSE,
grid.vline = FALSE,
# Add the log fold-change plot
yr = dss.sig.coefs$"Log2FC Day 7 vs. Baseline",
yr.axis.name = "Log2 Fold Change Day 7 vs. Baseline")
while (!is.null(dev.list())) dev.off()
###----------------------Heatmaps from contrast matrix comparisons based on fitZig model fit.
##Heatmaps should be pairwise, as contrasts are pairwise.
##For comparing day 7 to baseline
# Subset the normalised logged counts to the comparisons you want to visualize.
contrasts.data <- contrasts.sig.counts.tbl
# Transpose it and remove unnecessary columns
contrasts.data <- as.data.frame(t(contrasts.data))
head(contrasts.data)
## d7.7 d10.3 d10.2 d7.3 d1.5 d4.7 d1.8
## 1035392 2.927504 2.364398 3.997748 1.900042 5.93887 0.000000 2.549514
## 13811 1.679263 5.095714 0.000000 0.000000 0.00000 0.000000 0.000000
## 179018 0.000000 0.000000 6.245557 0.000000 0.00000 2.672729 0.000000
## 194297 2.434371 6.029350 0.000000 2.692535 0.00000 1.481358 0.000000
## 334340 0.000000 0.000000 8.927354 0.000000 0.00000 1.481358 0.000000
## 4426298 0.000000 0.000000 7.763585 0.000000 0.00000 0.000000 0.000000
## base.8 base.6 d4.3 base.4 d1.4 d1.3 d7.4 d10.4
## 1035392 2.164889 2.493040 0.000000 0.000000 0 2.526546 0.000000 0
## 13811 2.164889 0.000000 2.259387 4.227317 0 0.000000 0.000000 0
## 179018 2.164889 0.000000 0.000000 2.184629 0 0.000000 4.392317 0
## 194297 3.900846 0.000000 0.000000 0.000000 0 0.000000 0.000000 0
## 334340 3.517649 0.000000 2.259387 0.000000 0 0.000000 0.000000 0
## 4426298 0.000000 5.563655 0.000000 0.000000 0 0.000000 0.000000 0
## base.2 d7.2 base.1 d10.1 d7.8 base.5 d7.1 base.3
## 1035392 0.000000 0 2.134165 2.075681 0.000000 0 0 3.012057
## 13811 2.272447 0 0.000000 0.000000 0.000000 0 0 2.180647
## 179018 0.000000 0 0.000000 9.774125 3.354843 0 0 0.000000
## 194297 4.029070 0 3.863871 0.000000 0.000000 0 0 0.000000
## 334340 0.000000 0 0.000000 0.000000 0.000000 0 0 0.000000
## 4426298 4.984195 0 0.000000 7.938833 0.000000 0 0 5.754982
## base.7 d4.4 d4.8 d1.7 d4.5 d7.5 d4.2 d7.6
## 1035392 0 0.000000 6.760146 0 6.658211 3.339720 5.47032 4.148641
## 13811 0 0.000000 0.000000 0 0.000000 0.000000 0.00000 5.791640
## 179018 0 5.686642 0.000000 0 0.000000 1.498158 0.00000 3.227772
## 194297 0 0.000000 2.176682 0 0.000000 0.000000 0.00000 0.000000
## 334340 0 0.000000 3.293196 0 0.000000 0.000000 0.00000 2.374094
## 4426298 0 0.000000 4.074255 0 3.334984 0.000000 0.00000 0.000000
## d1.6 d1.2 d4.1 d4.6 d1.1
## 1035392 2.047816 3.129603 6.586700 0 0
## 13811 0.000000 0.000000 1.836205 0 0
## 179018 0.000000 0.000000 0.000000 0 0
## 194297 2.047816 1.841562 0.000000 0 0
## 334340 0.000000 0.000000 0.000000 0 0
## 4426298 0.000000 0.000000 0.000000 0 0
colnames(contrasts.data)
## [1] "d7.7" "d10.3" "d10.2" "d7.3" "d1.5" "d4.7" "d1.8"
## [8] "base.8" "base.6" "d4.3" "base.4" "d1.4" "d1.3" "d7.4"
## [15] "d10.4" "base.2" "d7.2" "base.1" "d10.1" "d7.8" "base.5"
## [22] "d7.1" "base.3" "base.7" "d4.4" "d4.8" "d1.7" "d4.5"
## [29] "d7.5" "d4.2" "d7.6" "d1.6" "d1.2" "d4.1" "d4.6"
## [36] "d1.1"
contrasts.d7.base <- contrasts.data[,-c(2,3,5:7,10,12,13,15,19,25:28,30,32:36)]
head(contrasts.d7.base)
## d7.7 d7.3 base.8 base.6 base.4 d7.4 base.2
## 1035392 2.927504 1.900042 2.164889 2.493040 0.000000 0.000000 0.000000
## 13811 1.679263 0.000000 2.164889 0.000000 4.227317 0.000000 2.272447
## 179018 0.000000 0.000000 2.164889 0.000000 2.184629 4.392317 0.000000
## 194297 2.434371 2.692535 3.900846 0.000000 0.000000 0.000000 4.029070
## 334340 0.000000 0.000000 3.517649 0.000000 0.000000 0.000000 0.000000
## 4426298 0.000000 0.000000 0.000000 5.563655 0.000000 0.000000 4.984195
## d7.2 base.1 d7.8 base.5 d7.1 base.3 base.7 d7.5
## 1035392 0 2.134165 0.000000 0 0 3.012057 0 3.339720
## 13811 0 0.000000 0.000000 0 0 2.180647 0 0.000000
## 179018 0 0.000000 3.354843 0 0 0.000000 0 1.498158
## 194297 0 3.863871 0.000000 0 0 0.000000 0 0.000000
## 334340 0 0.000000 0.000000 0 0 0.000000 0 0.000000
## 4426298 0 0.000000 0.000000 0 0 5.754982 0 0.000000
## d7.6
## 1035392 4.148641
## 13811 5.791640
## 179018 3.227772
## 194297 0.000000
## 334340 2.374094
## 4426298 0.000000
# Create a list of the fold-change coefficients to be plotted beside the heatmap
contrasts.coefs.d7.d1 <- contrasts.sig[,4, drop=FALSE]
contrasts.coefs.d7.d1$OTU <- rownames(contrasts.coefs.d7.d1)
head(contrasts.coefs.d7.d1)
## TrialTimeDSS_Day7...TrialTimeDSS_Day1
## New.CleanUp.ReferenceOTU1669 0.6905774
## New.CleanUp.ReferenceOTU4077 1.3937485
## New.CleanUp.ReferenceOTU8703 0.9319514
## New.ReferenceOTU252 1.2243735
## New.CleanUp.ReferenceOTU1784 2.5621839
## 4426298 -0.3717702
## OTU
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU1669
## New.CleanUp.ReferenceOTU4077 New.CleanUp.ReferenceOTU4077
## New.CleanUp.ReferenceOTU8703 New.CleanUp.ReferenceOTU8703
## New.ReferenceOTU252 New.ReferenceOTU252
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU1784
## 4426298 4426298
contrasts.coefs.d7.d1 <- contrasts.coefs.d7.d1[which(contrasts.coefs.d7.d1$OTU %in% rownames(contrasts.d7.base)),]
# Make sure they're in the same order as the data
contrasts.coefs.d7.d1 <- contrasts.coefs.d7.d1[match(rownames(contrasts.d7.base), contrasts.coefs.d7.d1$OTU),]
contrasts.coefs.d7.d1 <- contrasts.coefs.d7.d1[,2:1]
colnames(contrasts.coefs.d7.d1) <- c("OTU", "Log2FC_d7v.d1")
head(contrasts.coefs.d7.d1)
## OTU Log2FC_d7v.d1
## 1035392 1035392 0.05853557
## 13811 13811 2.51864392
## 179018 179018 2.56727992
## 194297 194297 0.06437702
## 334340 334340 0.57032778
## 4426298 4426298 -0.37177020
# Include the genus level taxonomy in the rownames for nice image
contrasts.d7.base.tax <- str.tax[,c("Order","Family", "Genus")]
head(contrasts.d7.base.tax)
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
contrasts.d7.base.tax <- contrasts.d7.base.tax[which(rownames(contrasts.d7.base.tax) %in% contrasts.coefs.d7.d1$OTU),]
# Same order as data
contrasts.d7.base.tax <- contrasts.d7.base.tax[match(contrasts.coefs.d7.d1$OTU, rownames(contrasts.d7.base.tax)), ]
rownames(contrasts.d7.base) <- paste(rownames(contrasts.d7.base), " ", "(", contrasts.d7.base.tax$Genus, ")", sep = "")
head(contrasts.d7.base)
## d7.7 d7.3 base.8 base.6 base.4
## 1035392 (g__) 2.927504 1.900042 2.164889 2.493040 0.000000
## 13811 (g__Mitsuokella) 1.679263 0.000000 2.164889 0.000000 4.227317
## 179018 (g__[Eubacterium]) 0.000000 0.000000 2.164889 0.000000 2.184629
## 194297 (g__Ruminococcus) 2.434371 2.692535 3.900846 0.000000 0.000000
## 334340 (g__) 0.000000 0.000000 3.517649 0.000000 0.000000
## 4426298 (g__Bifidobacterium) 0.000000 0.000000 0.000000 5.563655 0.000000
## d7.4 base.2 d7.2 base.1 d7.8
## 1035392 (g__) 0.000000 0.000000 0 2.134165 0.000000
## 13811 (g__Mitsuokella) 0.000000 2.272447 0 0.000000 0.000000
## 179018 (g__[Eubacterium]) 4.392317 0.000000 0 0.000000 3.354843
## 194297 (g__Ruminococcus) 0.000000 4.029070 0 3.863871 0.000000
## 334340 (g__) 0.000000 0.000000 0 0.000000 0.000000
## 4426298 (g__Bifidobacterium) 0.000000 4.984195 0 0.000000 0.000000
## base.5 d7.1 base.3 base.7 d7.5 d7.6
## 1035392 (g__) 0 0 3.012057 0 3.339720 4.148641
## 13811 (g__Mitsuokella) 0 0 2.180647 0 0.000000 5.791640
## 179018 (g__[Eubacterium]) 0 0 0.000000 0 1.498158 3.227772
## 194297 (g__Ruminococcus) 0 0 0.000000 0 0.000000 0.000000
## 334340 (g__) 0 0 0.000000 0 0.000000 2.374094
## 4426298 (g__Bifidobacterium) 0 0 5.754982 0 0.000000 0.000000
# Specify the variable to group/label samples by
contrasts.d7.base.labels <- ifelse(grepl("^d7", colnames(contrasts.d7.base)), "DSS Day 7 (n = 8)", "Baseline (n = 8)")
contrasts.d7.base.labels
## [1] "DSS Day 7 (n = 8)" "DSS Day 7 (n = 8)" "Baseline (n = 8)"
## [4] "Baseline (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [7] "Baseline (n = 8)" "DSS Day 7 (n = 8)" "Baseline (n = 8)"
## [10] "DSS Day 7 (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [13] "Baseline (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [16] "DSS Day 7 (n = 8)"
##Create the heatmap
##Heatmap shows the CSS normalized, logged abundance of OTUs that were determined to be significantly different.
tiff("./contrasts.d7.base.tiff", height=8, width=14, units="in", res=600)
superheat(contrasts.d7.base,
# Sort and label by labels (in same order as samples)
membership.cols = contrasts.d7.base.labels,
# Order the rows and columns nicely by hierarchical clustering
pretty.order.rows = TRUE,
pretty.order.cols = TRUE,
# Make the OTU labels smaller and align the text
left.label.size = 0.25,
left.label.text.size = 4,
left.label.text.alignment = "left",
# Change the colours of the labels
left.label.col = "White",
bottom.label.col = c("Grey", "Grey50"),
# Remove the black lines
grid.hline = FALSE,
grid.vline = FALSE,
# Add the log fold-change plot
yr = contrasts.coefs.d7.d1$Log2FC_d7v.d1,
yr.axis.name = "Log2 FC Day 7 vs. Day 1")
while (!is.null(dev.list())) dev.off()
##For comparing d10 to d7
# Transpose it and remove unnecessary columns
#contrasts.data <- as.data.frame(t(contrasts.data))
head(contrasts.data)
## d7.7 d10.3 d10.2 d7.3 d1.5 d4.7 d1.8
## 1035392 2.927504 2.364398 3.997748 1.900042 5.93887 0.000000 2.549514
## 13811 1.679263 5.095714 0.000000 0.000000 0.00000 0.000000 0.000000
## 179018 0.000000 0.000000 6.245557 0.000000 0.00000 2.672729 0.000000
## 194297 2.434371 6.029350 0.000000 2.692535 0.00000 1.481358 0.000000
## 334340 0.000000 0.000000 8.927354 0.000000 0.00000 1.481358 0.000000
## 4426298 0.000000 0.000000 7.763585 0.000000 0.00000 0.000000 0.000000
## base.8 base.6 d4.3 base.4 d1.4 d1.3 d7.4 d10.4
## 1035392 2.164889 2.493040 0.000000 0.000000 0 2.526546 0.000000 0
## 13811 2.164889 0.000000 2.259387 4.227317 0 0.000000 0.000000 0
## 179018 2.164889 0.000000 0.000000 2.184629 0 0.000000 4.392317 0
## 194297 3.900846 0.000000 0.000000 0.000000 0 0.000000 0.000000 0
## 334340 3.517649 0.000000 2.259387 0.000000 0 0.000000 0.000000 0
## 4426298 0.000000 5.563655 0.000000 0.000000 0 0.000000 0.000000 0
## base.2 d7.2 base.1 d10.1 d7.8 base.5 d7.1 base.3
## 1035392 0.000000 0 2.134165 2.075681 0.000000 0 0 3.012057
## 13811 2.272447 0 0.000000 0.000000 0.000000 0 0 2.180647
## 179018 0.000000 0 0.000000 9.774125 3.354843 0 0 0.000000
## 194297 4.029070 0 3.863871 0.000000 0.000000 0 0 0.000000
## 334340 0.000000 0 0.000000 0.000000 0.000000 0 0 0.000000
## 4426298 4.984195 0 0.000000 7.938833 0.000000 0 0 5.754982
## base.7 d4.4 d4.8 d1.7 d4.5 d7.5 d4.2 d7.6
## 1035392 0 0.000000 6.760146 0 6.658211 3.339720 5.47032 4.148641
## 13811 0 0.000000 0.000000 0 0.000000 0.000000 0.00000 5.791640
## 179018 0 5.686642 0.000000 0 0.000000 1.498158 0.00000 3.227772
## 194297 0 0.000000 2.176682 0 0.000000 0.000000 0.00000 0.000000
## 334340 0 0.000000 3.293196 0 0.000000 0.000000 0.00000 2.374094
## 4426298 0 0.000000 4.074255 0 3.334984 0.000000 0.00000 0.000000
## d1.6 d1.2 d4.1 d4.6 d1.1
## 1035392 2.047816 3.129603 6.586700 0 0
## 13811 0.000000 0.000000 1.836205 0 0
## 179018 0.000000 0.000000 0.000000 0 0
## 194297 2.047816 1.841562 0.000000 0 0
## 334340 0.000000 0.000000 0.000000 0 0
## 4426298 0.000000 0.000000 0.000000 0 0
colnames(contrasts.data)
## [1] "d7.7" "d10.3" "d10.2" "d7.3" "d1.5" "d4.7" "d1.8"
## [8] "base.8" "base.6" "d4.3" "base.4" "d1.4" "d1.3" "d7.4"
## [15] "d10.4" "base.2" "d7.2" "base.1" "d10.1" "d7.8" "base.5"
## [22] "d7.1" "base.3" "base.7" "d4.4" "d4.8" "d1.7" "d4.5"
## [29] "d7.5" "d4.2" "d7.6" "d1.6" "d1.2" "d4.1" "d4.6"
## [36] "d1.1"
contrasts.d10.d7 <- contrasts.data[,-c(5:13,16,18,21,23:28,30,32:36)]
head(contrasts.d10.d7)
## d7.7 d10.3 d10.2 d7.3 d7.4 d10.4 d7.2 d10.1
## 1035392 2.927504 2.364398 3.997748 1.900042 0.000000 0 0 2.075681
## 13811 1.679263 5.095714 0.000000 0.000000 0.000000 0 0 0.000000
## 179018 0.000000 0.000000 6.245557 0.000000 4.392317 0 0 9.774125
## 194297 2.434371 6.029350 0.000000 2.692535 0.000000 0 0 0.000000
## 334340 0.000000 0.000000 8.927354 0.000000 0.000000 0 0 0.000000
## 4426298 0.000000 0.000000 7.763585 0.000000 0.000000 0 0 7.938833
## d7.8 d7.1 d7.5 d7.6
## 1035392 0.000000 0 3.339720 4.148641
## 13811 0.000000 0 0.000000 5.791640
## 179018 3.354843 0 1.498158 3.227772
## 194297 0.000000 0 0.000000 0.000000
## 334340 0.000000 0 0.000000 2.374094
## 4426298 0.000000 0 0.000000 0.000000
# Create a list of the fold-change coefficients to be plotted beside the heatmap
contrasts.coefs.d10.d7 <- contrasts.sig[,1, drop=FALSE]
contrasts.coefs.d10.d7$OTU <- rownames(contrasts.coefs.d10.d7)
head(contrasts.coefs.d10.d7)
## TrialTimeDSS_Day10...TrialTimeDSS_Day7
## New.CleanUp.ReferenceOTU1669 7.519059
## New.CleanUp.ReferenceOTU4077 4.198806
## New.CleanUp.ReferenceOTU8703 4.969228
## New.ReferenceOTU252 6.127237
## New.CleanUp.ReferenceOTU1784 3.723826
## 4426298 6.549897
## OTU
## New.CleanUp.ReferenceOTU1669 New.CleanUp.ReferenceOTU1669
## New.CleanUp.ReferenceOTU4077 New.CleanUp.ReferenceOTU4077
## New.CleanUp.ReferenceOTU8703 New.CleanUp.ReferenceOTU8703
## New.ReferenceOTU252 New.ReferenceOTU252
## New.CleanUp.ReferenceOTU1784 New.CleanUp.ReferenceOTU1784
## 4426298 4426298
contrasts.coefs.d10.d7 <- contrasts.coefs.d10.d7[which(contrasts.coefs.d10.d7$OTU %in% rownames(contrasts.d10.d7)),]
# Make sure they're in the same order as the data
contrasts.coefs.d10.d7 <- contrasts.coefs.d10.d7[match(rownames(contrasts.d10.d7), contrasts.coefs.d10.d7$OTU),]
contrasts.coefs.d10.d7 <- contrasts.coefs.d10.d7[,2:1]
colnames(contrasts.coefs.d10.d7) <- c("OTU", "Log2FC_d10v.d7")
head(contrasts.coefs.d10.d7)
## OTU Log2FC_d10v.d7
## 1035392 1035392 -0.1433486
## 13811 13811 2.2237715
## 179018 179018 5.6870720
## 194297 194297 3.2879592
## 334340 334340 5.9971125
## 4426298 4426298 6.5498968
# Include the genus level taxonomy in the rownames for nice image
contrasts.d10.d7.tax <- str.tax[,c("Order","Family", "Genus")]
head(contrasts.d10.d7.tax)
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
contrasts.d10.d7.tax <- contrasts.d10.d7.tax[which(rownames(contrasts.d10.d7.tax) %in% contrasts.coefs.d10.d7$OTU),]
# Same order as data
contrasts.d7.base.tax <- contrasts.d7.base.tax[match(contrasts.coefs.d10.d7$OTU, rownames(contrasts.d7.base.tax)), ]
rownames(contrasts.d10.d7) <- paste(rownames(contrasts.d10.d7), " ", "(", contrasts.d7.base.tax$Genus, ")", sep = "")
head(contrasts.d10.d7)
## d7.7 d10.3 d10.2 d7.3 d7.4
## 1035392 (g__) 2.927504 2.364398 3.997748 1.900042 0.000000
## 13811 (g__Mitsuokella) 1.679263 5.095714 0.000000 0.000000 0.000000
## 179018 (g__[Eubacterium]) 0.000000 0.000000 6.245557 0.000000 4.392317
## 194297 (g__Ruminococcus) 2.434371 6.029350 0.000000 2.692535 0.000000
## 334340 (g__) 0.000000 0.000000 8.927354 0.000000 0.000000
## 4426298 (g__Bifidobacterium) 0.000000 0.000000 7.763585 0.000000 0.000000
## d10.4 d7.2 d10.1 d7.8 d7.1 d7.5
## 1035392 (g__) 0 0 2.075681 0.000000 0 3.339720
## 13811 (g__Mitsuokella) 0 0 0.000000 0.000000 0 0.000000
## 179018 (g__[Eubacterium]) 0 0 9.774125 3.354843 0 1.498158
## 194297 (g__Ruminococcus) 0 0 0.000000 0.000000 0 0.000000
## 334340 (g__) 0 0 0.000000 0.000000 0 0.000000
## 4426298 (g__Bifidobacterium) 0 0 7.938833 0.000000 0 0.000000
## d7.6
## 1035392 (g__) 4.148641
## 13811 (g__Mitsuokella) 5.791640
## 179018 (g__[Eubacterium]) 3.227772
## 194297 (g__Ruminococcus) 0.000000
## 334340 (g__) 2.374094
## 4426298 (g__Bifidobacterium) 0.000000
# Specify the variable to group/label samples by
contrasts.d10.d7.labels <- ifelse(grepl("^d7", colnames(contrasts.d10.d7)), "DSS Day 7 (n = 8)", "Final Heal (n = 4)")
contrasts.d10.d7.labels
## [1] "DSS Day 7 (n = 8)" "Final Heal (n = 4)" "Final Heal (n = 4)"
## [4] "DSS Day 7 (n = 8)" "DSS Day 7 (n = 8)" "Final Heal (n = 4)"
## [7] "DSS Day 7 (n = 8)" "Final Heal (n = 4)" "DSS Day 7 (n = 8)"
## [10] "DSS Day 7 (n = 8)" "DSS Day 7 (n = 8)" "DSS Day 7 (n = 8)"
##Create the heatmap
##Heatmap shows the CSS normalized, logged abundance of OTUs that were determined to be significantly different.
tiff("./contrasts.d10.d7.tiff", height=8, width=14, units="in", res=600)
superheat(contrasts.d10.d7,
# Sort and label by labels (in same order as samples)
membership.cols = contrasts.d10.d7.labels,
# Order the rows and columns nicely by hierarchical clustering
pretty.order.rows = TRUE,
pretty.order.cols = TRUE,
# Make the OTU labels smaller and align the text
left.label.size = 0.25,
left.label.text.size = 4,
left.label.text.alignment = "left",
# Change the colours of the labels
left.label.col = "White",
bottom.label.col = c("Grey", "Grey50"),
# Remove the black lines
grid.hline = FALSE,
grid.vline = FALSE,
# Add the log fold-change plot
yr = contrasts.coefs.d10.d7$Log2FC_d10v.d7,
yr.axis.name = "Log2 FC Day 10 vs. Day 7")
while (!is.null(dev.list())) dev.off()
library(superheat)
##Only making heatmaps for comparisons where there was more than one significantly different OTU.
##For comparing day 7 to baseline
# Subset the normalised logged counts to the OTUs above threshold
d7.base.data <- d7.base.sig.tbl[,which(colnames(d7.base.sig.tbl) %in% threshold)]
# Transpose it
d7.base.data <- as.data.frame(t(d7.base.data))
head(d7.base.data)
## d7.7 d7.3 base.8 base.6 base.4 d7.4
## 545371 1.679263 0.000000 0.000000 5.93511 6.486272 0.000000
## 703741 3.829429 4.120472 9.187059 11.40864 11.722992 1.947533
## New.ReferenceOTU284 0.000000 0.000000 2.164889 0.00000 2.184629 6.339850
## base.2 d7.2 base.1 d7.8 base.5 d7.1
## 545371 8.481080 1.902933 0.000000 2.027481 3.613055 0.000000
## 703741 9.626206 0.000000 9.762875 0.000000 11.098039 4.013598
## New.ReferenceOTU284 4.584271 7.689854 6.173656 6.495548 2.246505 8.625487
## base.3 base.7 d7.5 d7.6
## 545371 6.788433 5.87091 0.000000 3.227772
## 703741 11.594732 12.12321 2.694758 5.896693
## New.ReferenceOTU284 0.000000 0.00000 8.882041 5.678331
# Create a list of the fold-change coefficients to be plotted beside the heatmap
d7.base.coefs <- d7.base.sig[,1, drop=FALSE]
d7.base.coefs$OTU <- rownames(d7.base.coefs)
head(d7.base.coefs)
## logFC OTU
## 703741 -4.897412 703741
## 545371 -2.942560 545371
## New.ReferenceOTU284 2.837908 New.ReferenceOTU284
d7.base.coefs <- d7.base.coefs[which(d7.base.coefs$OTU %in% rownames(d7.base.data)),]
# Make sure they're in the same order as the data
d7.base.coefs <- d7.base.coefs[match(rownames(d7.base.data), d7.base.coefs$OTU),]
d7.base.coefs <- d7.base.coefs[,2:1]
colnames(d7.base.coefs) <- c("OTU", "Log2FC")
head(d7.base.coefs)
## OTU Log2FC
## 545371 545371 -2.942560
## 703741 703741 -4.897412
## New.ReferenceOTU284 New.ReferenceOTU284 2.837908
# Include the genus level taxonomy in the rownames for nice image
d7.base.tax <- str.tax[,c("Order","Family", "Genus")]
head(d7.base.tax)
## Order Family Genus
## New.CleanUp.ReferenceOTU10212 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU31068 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU33 o__Clostridiales f__Lachnospiraceae g__
## New.ReferenceOTU122 o__Clostridiales f__ g__
## 360329 o__Clostridiales f__Lachnospiraceae g__
## New.CleanUp.ReferenceOTU20966 o__Clostridiales f__Lachnospiraceae g__
d7.base.tax <- d7.base.tax[which(rownames(d7.base.tax) %in% d7.base.coefs$OTU),]
# Same order as data
d7.base.tax <- d7.base.tax[match(d7.base.coefs$OTU, rownames(d7.base.tax)), ]
rownames(d7.base.data) <- paste(rownames(d7.base.data), " ", "(", d7.base.tax$Genus, ")", sep = "")
head(d7.base.data)
## d7.7 d7.3 base.8
## 545371 (g__Lactobacillus) 1.679263 0.000000 0.000000
## 703741 (g__Lactobacillus) 3.829429 4.120472 9.187059
## New.ReferenceOTU284 (g__Acidaminococcus) 0.000000 0.000000 2.164889
## base.6 base.4 d7.4
## 545371 (g__Lactobacillus) 5.93511 6.486272 0.000000
## 703741 (g__Lactobacillus) 11.40864 11.722992 1.947533
## New.ReferenceOTU284 (g__Acidaminococcus) 0.00000 2.184629 6.339850
## base.2 d7.2 base.1
## 545371 (g__Lactobacillus) 8.481080 1.902933 0.000000
## 703741 (g__Lactobacillus) 9.626206 0.000000 9.762875
## New.ReferenceOTU284 (g__Acidaminococcus) 4.584271 7.689854 6.173656
## d7.8 base.5 d7.1
## 545371 (g__Lactobacillus) 2.027481 3.613055 0.000000
## 703741 (g__Lactobacillus) 0.000000 11.098039 4.013598
## New.ReferenceOTU284 (g__Acidaminococcus) 6.495548 2.246505 8.625487
## base.3 base.7 d7.5
## 545371 (g__Lactobacillus) 6.788433 5.87091 0.000000
## 703741 (g__Lactobacillus) 11.594732 12.12321 2.694758
## New.ReferenceOTU284 (g__Acidaminococcus) 0.000000 0.00000 8.882041
## d7.6
## 545371 (g__Lactobacillus) 3.227772
## 703741 (g__Lactobacillus) 5.896693
## New.ReferenceOTU284 (g__Acidaminococcus) 5.678331
# Specify the variable to group/label samples by
d7.base.labels <- ifelse(grepl("^d7", colnames(d7.base.data)), "DSS Day 7 (n = 8)", "Baseline (n = 8)")
d7.base.labels
## [1] "DSS Day 7 (n = 8)" "DSS Day 7 (n = 8)" "Baseline (n = 8)"
## [4] "Baseline (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [7] "Baseline (n = 8)" "DSS Day 7 (n = 8)" "Baseline (n = 8)"
## [10] "DSS Day 7 (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [13] "Baseline (n = 8)" "Baseline (n = 8)" "DSS Day 7 (n = 8)"
## [16] "DSS Day 7 (n = 8)"
##Create the heatmap
##Heatmap shows the CSS normalized, logged abundance of OTUs that were determined to be significantly different.
tiff("./featurefit.d7.base.tiff", height=8, width=14, units="in", res=600)
superheat(d7.base.data,
# Sort and label by labels (in same order as samples)
membership.cols = d7.base.labels,
# Order the rows and columns nicely by hierarchical clustering
pretty.order.rows = TRUE,
pretty.order.cols = TRUE,
# Make the OTU labels smaller and align the text
left.label.size = 0.25,
left.label.text.size = 4,
left.label.text.alignment = "left",
# Change the colours of the labels
left.label.col = "White",
bottom.label.col = c("Grey", "Grey50"),
# Remove the black lines
grid.hline = FALSE,
grid.vline = FALSE,
# Add the log fold-change plot
yr = d7.base.coefs$Log2FC,
yr.axis.name = "Log2 Fold Change")
while (!is.null(dev.list())) dev.off()
###Alternative forms of plotting PCoA, based on Jill Hagey's code.
##PCoA plot based on transformed values. Rlog
#(data <- plotPCA(DSSFecesStr_rlog, intgroup = c( "TrialTime"), returnData=TRUE))
#percentVar <- round(100 * attr(data, "percentVar"))
#ggplot(data, aes(PC1, PC2, color=TrialTime)) + geom_point(size=3) +
#xlab(paste0("PC1: ",percentVar[1],"% variance")) +
#ylab(paste0("PC2: ",percentVar[2],"% variance")) + scale_color_manual(values=palette12.72)
##PCoA plot based on transformed values. VST
#(data <- plotPCA(DSSFecesStr_vst, intgroup = c( "TrialTime"), returnData=TRUE))
#percentVar <- round(100 * attr(data, "percentVar"))
#ggplot(data, aes(PC1, PC2, color=TrialTime)) + geom_point(size=3) +
# xlab(paste0("PC1: ",percentVar[1],"% variance")) +
# ylab(paste0("PC2: ",percentVar[2],"% variance")) + scale_color_manual(values=palette12.72)
##Plot the outputs from fitZig multivariate tests and pairwise tests.
##Extract the logFC values for the top-ranked features.
##MRfulltable() provides additional information about the presence/absence of features, compared to MRcoefs(). Parameter "by=" specifies the column name specifying which contrast of the linear model is of interest, while parameter "coef=" specifies which column(s) to display. By default, all columns are displayed. Parameter "group=3" specifies that the features are sorted by p-value of the fit in increasing order (other options are possible for sorting by coefficients/logFCs)
##MRfulltable shows p-values for the specified "by=" group, from eBayes.
## p-value is the probability of seeing an observation (a coefficient) more extreme than the one you are seeing (unlikely if p-value is low). Each OTU in each group has its own p-value, which specifies how significant the FC is for that estimation. An OTU will have a different p-value depending on the confidence of the LFC estimation in different groups. If fitZig not confident in estimation of the coefficient, will likely have a high p-value. Lower p-value means more confident coefficient (logFC).
##Thus, OTUs with low p-values for a specified "by=" group have more confident LFC estimates. If the absolute value of the LFC is large in the group of interest, then that OTU should probably be discussed or included in the final graph/table. NOTE: the LFC values for each OTU in each group DO NOT CHANGE if you change the "by=" parameter, only the p-value changes and the top OTU picks (if sorting by p-value).
##MRcoefs() also has "by=" and "coef=" parameters to specify coefficients of interest and coefficients to display.
dss.feces.fit$fit$design #can specify "by=" to a particular group name, (Intercept), scalingFactor, or normFactor (any column of the design matrix)
head(dss.feces.fit$eb$p.value)
head(heal.fit$eb$p.value)
head(dss.fit$eb$p.value)
trialtime.fitzig.table <- MRfulltable(dss.feces.fit, by="TrialTimeFF_Base1", group=3, number=25) #Specifying a different "by=" changes the OTU output. In this table, the coefficient of interest is the Baseline.
heal.fitzig.table <- MRfulltable(heal.fit, by="TrialTime.healFF_Base1", group=3, number=25)
dss.fitzig.table <- MRfulltable(dss.fit, by="TrialTime.dssFF_Base1", group=3, number=25)
trialtime.fitzig.table
heal.fitzig.table
dss.fitzig.table
##rename the OTUs to their respective Genus or species name
match <- match(rownames(trialtime.fitzig.table), table=rownames(str.tax))
fitzig.tax <- str.tax[match,]
fitzig.tax
match2 <- match(rownames(heal.fitzig.table), table=rownames(str.tax))
heal.tax <- str.tax[match2,]
heal.tax
match3 <- match(rownames(dss.fitzig.table), table=rownames(str.tax))
dss.tax <- str.tax[match3,]
dss.tax
##Alter these as necessary, depending on the need for unique names in the dataset.
fitzig.tax[3,"Genus"] <- "g__unknown1"
fitzig.tax[5, "Genus"] <- "g__unknown1"
fitzig.tax[7, "Genus"] <- "g__unknown1"
fitzig.tax[10,"Genus"] <- "g__unknown2"
fitzig.tax[12, "Genus"] <- "g__unknown2"
fitzig.tax[16, "Genus"] <- "g__unknown2"
fitzig.tax[18, "Family"] <- "f__unknown1"
fitzig.tax[19, "Genus"] <- "g__unknown3"
fitzig.tax[21, "Family"] <- "f__unknown2"
fitzig.tax[22, "Genus"] <- "g__unknown4"
fitzig.tax[23, "Family"] <- "f__unknown3"
fitzig.tax[25, "Genus"] <- "g__unknown5"
fitzig.tax[is.na(fitzig.tax)] <- "unassigned"
fitzig.tax
##Names to change for the heal dataset
heal.tax[is.na(heal.tax)] <- "unassigned"
##For Clostridiales
heal.tax[7, "Family"] <- "f__unknown1"
heal.tax[25, "Family"] <- "f__unknown2"
##For Coriobacteriaceae
heal.tax[10, "Genus"] <- "g__unknown1"
heal.tax[24, "Genus"] <- "g__unknown2"
##For Lachnospiraceae
heal.tax[12, "Genus"] <- "g__unknown1"
heal.tax[20, "Genus"] <- "g__unknown2"
##For Butyrovibrio
heal.tax[2, "Species"] <- "s__unknown1"
heal.tax[6, "Species"] <- "s__unknown2"
heal.tax[18, "Species"] <- "s__unknown3"
##Names to change for dss dataset
dss.tax[is.na(dss.tax)] <- "unassigned"
#For RF39
dss.tax[15, "Family"] <- "f__unknown1"
dss.tax[21, "Family"] <- "f__unknown2"
#For Ruminococcaceae
dss.tax[4, "Genus"] <- "g__unknown1"
dss.tax[5, "Genus"] <- "g__unknown2"
dss.tax[25, "Genus"] <- "g__unknown3"
##For Blautia
dss.tax[13, "Species"] <- "s__unknown1"
dss.tax[14, "Species"] <- "s__unknown2"
##For Streptococcus
dss.tax[6, "Species"] <- "s__unknown1"
dss.tax[17, "Species"] <- "s__unknown2"
dss.tax[19, "Species"] <- "s__unknown3"
dss.tax
#Append the taxa information to the OTU data, for more informational graphics.
fitzig.trialtime.plustax <- cbind(trialtime.fitzig.table,fitzig.tax)
fitzig.trialtime.plustax$Species
heal.fitzig.table.tax <- cbind(heal.fitzig.table, heal.tax)
heal.fitzig.table.tax$Species
dss.fitzig.table.tax <- cbind(dss.fitzig.table, dss.tax)
dss.fitzig.table.tax$Species
##Visualization/Organization for fitZig taken from rachaellappan/.github.io 16-analysis protocols.
##Generate a table of log fold change coefficients for each OTU, sorting by adjusted p-value.
coefs <-MRcoefs(dss.feces.fit, coef=2, group=3, number=50) #group=3 denotes organization by p-value, number=50 denotes the number of bacterial features to pick out.
#export the coefficients and adjusted p-values
write.table(coefs, "dss.feces/trialtime.fitzig.res.txt", sep="\t")
##Create a heat map
#install.packages("superheat")
library(superheat)
base.d4.d7.d10 <- subset(fitzig.trialtime.plustax, select=c(TrialTimeFF_Base1, TrialTimeDSS_Day4, TrialTimeDSS_Day7, TrialTimeDSS_Day10))
base.d4.d7.d10
rownames(base.d4.d7.d10) <- paste(fitzig.tax$Family,fitzig.tax$Genus,fitzig.tax$Species, sep = ";")
base.d4.d7.d10
superheat(base.d4.d7.d10, pretty.order.cols = FALSE, pretty.order.rows = FALSE,left.label.size = 0.35, left.label.text.size = 2, left.label.text.alignment = "left", bottom.label.text.size=2, bottom.label.text.angle=45, grid.hline = FALSE, grid.vline = FALSE)
heal.fitzig.table
heal.plot <- subset(heal.fitzig.table, select=c(TrialTime.healFF_Base1, TrialTime.healDSS_Day8, TrialTime.healDSS_Day9))
rownames(heal.plot) <- paste(heal.tax$Family,heal.tax$Genus,heal.tax$Species, sep=";")
heal.fitzig.table
superheat(heal.plot, pretty.order.cols = FALSE, pretty.order.rows = FALSE,left.label.size = 0.35, left.label.text.size = 2, left.label.text.alignment = "left", bottom.label.text.size=2, bottom.label.text.angle=45, grid.hline = FALSE, grid.vline = FALSE)
#Edits of DSS Feces Data
#Removing Base2 from DSS Feces Data (unnecessary, there is a Base1)
DSSFecesNorm_sub <- subset_samples(DSSFecesData_filter, Time!="Base2")
DSSFecesNorm_sub
#Make a copy of normalized phyloseq data, in case
DSSFecesNorm_sub0 <- DSSFecesNorm_sub
#Removing even days from DSS Feces Data (during DSS treatment)
DSSFecesNorm_trtmt_odd.days <- subset_samples(DSSFecesNorm_sub0, Time=="Base1" | Time=="Day1" | Time=="Day3" | Time=="Day5" | Time=="Day7")
DSSFecesNorm_trtmt_odd.days
#Removing odd days from DSS Feces Data (during DSS Treatment)
DSSFecesNorm_trtmt_even.days <- subset_samples(DSSFecesNorm_sub0, Time=="Base1" | Time=="Day2" | Time=="Day4" | Time=="Day6")
DSSFecesNorm_trtmt_even.days
#Subset healing data
DSSFecesNorm_heal <- subset_samples(DSSFecesNorm_sub0, Time=="Day8" | Time=="Day9" | Time=="Day10")
DSSFecesNorm_heal
#Compare end of of DSS Treatment to last day of healing and baseline.
DSSFecesNorm_trtmt_heal <-subset_samples(DSSFecesNorm_sub0, Time=="Base1" | Time=="Day6" | Time=="Day10")
DSSFecesNorm_trtmt_heal
#Leave all but odd days to see trends and create a simpler plot.
DSSFecesNorm_trends <- subset_samples(DSSFecesNorm_sub0, Time=="Base1" | Time=="Day2" | Time=="Day4" | Time=="Day6" | Time=="Day8" | Time=="Day10")
DSSFecesNorm_trends
#Recreate trends dataset, but without samples that were not directly from the DSS Pilot Study. The above subsets will contain data from control pigs from previous studies, of comparable age.
DSSFecesNorm_trends_pilot <- subset_samples (DSSFecesNorm_sub0, TrialTime=="DSS_Base1" | TrialTime=="DSS_Day2" | TrialTime=="DSS_Day4" | TrialTime=="DSS_Day6" | TrialTime=="DSS_Day8" | TrialTime=="DSS_Day10")
DSSFecesNorm_trends_pilot
#Transforming the data to make PCoA plots (ordinate the data into weighted and unweighted Unifrac, then plot). Weighted: based on relative abundance of taxa. Unweighted: Focuses on which taxa are present, rare taxa may be better accounted for.
#I rely primarily on weighted data for plotting.
#DSS Feces Ordination
dss.feces_ord_weighted_trtmt_heal <- ordinate(DSSFecesNorm_trtmt_heal, method="PCoA", distance="unifrac", weighted=TRUE)
dss.feces_ord_unweighted_trtmt_heal <- ordinate(DSSFecesNorm_trtmt_heal, method = "PCoA", distance = "unifrac", weighted=FALSE)
dss.feces_ord_weighted <- ordinate(DSSFecesNorm_sub0, method="PCoA", distance="unifrac", weighted=TRUE)
dss.feces_ord_unweighted <- ordinate(DSSFecesNorm_sub0, method="PCoA", distance="unifrac", weighted=FALSE)
dss.feces_trends_ord_weighted <- ordinate(DSSFecesNorm_trends, method = "PCoA", distance = "unifrac", weighted=TRUE)
dss.feces_trends_pilot_ord_weighted <- ordinate(DSSFecesNorm_trends_pilot, method = "PCoA", distance = "unifrac", weighted=TRUE)
#Plotting PCoA
#DSS Feces Plots
#Chose not to use the following two:
#plot_ordination(DSSFeces_trtmt_heal, dss.feces_ord_weighted, color = "Time", shape="TrialTime") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples After DSS Treatment and Healing")
#plot_ordination(DSSFeces_trtmt_heal, dss.feces_ord_unweighted, color = "Time", shape="TrialTime") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples After DSS Treatment and Healing")
#Just compare baseline to Day 6 and Day 10
plot_ordination(DSSFecesNorm_trtmt_heal, dss.feces_ord_weighted, color = "Time") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples After DSS Treatment and Healing")
#Compare trends on even days only, including samples from other studies as controls
plot_ordination(DSSFecesNorm_trends, dss.feces_trends_ord_weighted, color = "Time") + scale_color_manual(values=smol.pal, breaks=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Post-DSS: Day 8", "Post-DSS: Day 10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
#Compare trends on even days only, excluding samples from other studies (pilot data alone)
plot_ordination(DSSFecesNorm_trends_pilot, dss.feces_trends_pilot_ord_weighted, color = "Time") + scale_color_manual(values=smol.pal, breaks=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Post-DSS: Day 8", "Post-DSS: Day 10")) + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples")
plot_ordination(DSSFecesNorm_trtmt_heal, dss.feces_ord_weighted_trtmt_heal, color = "Time") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples After DSS Treatment and Healing")
plot_ordination(DSSFecesNorm_trtmt_heal, dss.feces_ord_unweighted, color = "Time") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples After DSS Treatment and Healing")
#Other plots I chose not to use:
#Compare Day 6 to day 10 and baseline, weighted.
#plot_ordination(DSSFeces_trtmt_heal, dss.feces_ord_weighted, color = "TrialTime") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Weighted UniFrac for Feces Samples After DSS Treatment and Healing")
#compare day 6 to day 10 and baseline, unweighted.
#plot_ordination(DSSFeces_trtmt_heal, dss.feces_ord_unweighted, color = "TrialTime") + geom_point(size = 5, alpha = 0.75) +stat_ellipse() + ggtitle("PCoA of Unweighted UniFrac for Feces Samples After DSS Treatment and Healing")
#Merge OTUs at particular Levels (i.e., merge all pigs at a timepoint, or for "TrialTime", or any column in the mapping file).
#Merging OTUs for DSS Feces
DSSFeces_merge_time <- merge_samples(DSSFecesNorm_sub0, "Time", fun=mean)
DSSFeces_merge_trialtime <- merge_samples(DSSFecesNorm_sub0, "TrialTime", fun=mean)
DSSFeces_merge_trends_time <- merge_samples(DSSFecesNorm_trends, "Time", fun=mean)
DSSFeces_merge_trends_pilot_time <- merge_samples(DSSFecesNorm_trends_pilot, "Time", fun=mean)
#Transform merged data into relative abundance on a 100% basis.
#Transforming DSS Feces Data
DSSFeces_merge_time_relabund <- transform_sample_counts(DSSFeces_merge_time, function(x) 100 * x/sum(x))
DSSFeces_merge_trialtime_relabund <- transform_sample_counts(DSSFeces_merge_trialtime, function(x) 100 * x/sum(x))
DSSFeces_merge_trends_time_relabund <- transform_sample_counts(DSSFeces_merge_trends_time, function(x) 100 * x/sum(x))
DSSFeces_merge_trends_pilot_time_rel <- transform_sample_counts(DSSFeces_merge_trends_pilot_time, function(x) 100 * x/sum(x))
#----------Graph relative abundance (alpha diversity), using fill="Taxonomic Rank" (i.e., Family, Order, etc.)------------#
#Can also plot data merged at a particular taxonomic rank.
library(RColorBrewer)
#----------Plotting Normalized Counts for DSS Feces------------#
#Plot trends for order level on even days only; include data from previous studies as controls.
DSSFeces_trends_ord_plot <- plot_bar(DSSFeces_merge_trends_time, fill="Order", title="Figure 1:Abundance of OTUs in Feces at Order Level") + scale_x_discrete(limits=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Day 8", "Day 10")) + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point") + ylab("Normalization Value")
DSSFeces_trends_ord_plot
#----------Plotting Relative Abundance for DSS Feces------------#
#Plot all timepoints at Class level
DSSFeces_relabund_class_plot <- plot_bar(DSSFeces_merge_time_relabund, fill="Class", title="Graph of Relative Abundance at Class Level across Time") + scale_x_discrete(limits=c("Base1", "Day1", "Day2", "Day3", "Day4", "Day5", "Day6", "Day7", "Day8", "Day9", "Day10")) + geom_bar(aes(color=Class, fill=Class), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 0, hjust = 0, vjust=0.5)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point")
DSSFeces_relabund_class_plot
#Plot trends for class level on even days only; include data from previous studies as controls.
DSSFeces_trends_relabund_class_plot <- plot_bar(DSSFeces_merge_trends_time_relabund, fill="Class", title="Graph of Relative Abundance at Class Level") + scale_x_discrete(limits=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Day 8", "Day 10")) + geom_bar(aes(color=Class, fill=Class), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 0, hjust = 0.5, vjust=0.5)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point")
DSSFeces_trends_relabund_class_plot
#Plot trends for order level on even days only; include data from previous studies as controls.
DSSFeces_trends_relabund_ord_plot <- plot_bar(DSSFeces_merge_trends_time_relabund, fill="Order", title="Figure 1: Relative Abundance in Feces at Order Level") + scale_x_discrete(limits=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Day 8", "Day 10")) + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 20, hjust = 0.5, vjust=0.5), legend.key.size = unit(0.4, "cm"), legend.text = element_text(size=8)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point") + ylab("Relative Abundance")
DSSFeces_trends_relabund_ord_plot
#plot trends for class level on even days only, exclude data from previous studies as controls (pilot alone)
DSSFeces_trends_pilot_rel_class_plot <- plot_bar(DSSFeces_merge_trends_pilot_time_rel, fill="Class", title="Graph of Relative Abundance at Class Level") + scale_x_discrete(limits=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Day 8", "Day 10")) + geom_bar(aes(color=Class, fill=Class), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 0, hjust = 0.5, vjust=0.5)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point") + ylab("Relative Abundance")
DSSFeces_trends_pilot_rel_class_plot
#plot trends for order level on even days only, exclude data from previous studies as controls (pilot alone)
DSSFeces_trends_pilot_rel_ord_plot <- plot_bar(DSSFeces_merge_trends_pilot_time_rel, fill="Order", title="Graph of Relative Abundance at Order Level") + scale_x_discrete(limits=c("Base1", "Day2", "Day4", "Day6", "Day8", "Day10"), labels=c("Baseline", "Day 2", "Day 4", "Day 6", "Day 8", "Day 10")) + geom_bar(aes(color=Order, fill=Order), stat="identity", position="stack") + theme(axis.text.x = element_text(angle = 0, hjust = 0.5, vjust=0.5)) + scale_fill_manual(values=tol42rainbow) + scale_color_manual(values=tol42rainbow) + xlab("Time Point") + ylab("Relative Abundance")
DSSFeces_trends_pilot_rel_ord_plot
#Plot all timepoints at the family level (NOISY)
DSSFeces_relabund_fam_plot <- plot_bar(DSSFeces_merge_time_relabund, fill="Family", title="Graph of Relative Abundance at Family Level across Time") + scale_x_discrete(limits=c("Base1", "Day1", "Day2", "Day3", "Day4", "Day5", "Day6", "Day7", "Day8", "Day9", "Day10")) + geom_bar(aes(color=Family, fill=Family), stat="identity", position="stack")
DSSFeces_relabund_fam_plot + scale_fill_manual(values=palette12.72) + scale_color_manual(values=palette12.72)
#Plot all timepoints at the phylum level (Difficult to see clear trends)
DSSFeces_relabund_phy_plot <- plot_bar(DSSFeces_merge_time_relabund, fill="Phylum", title="Graph of Relative Abundance at Phylum Level across Time") + scale_x_discrete(limits=c("Base1", "Day1", "Day2", "Day3", "Day4", "Day5", "Day6", "Day7", "Day8", "Day9", "Day10")) + geom_bar(aes(color=Phylum, fill=Phylum), stat="identity", position="stack")
DSSFeces_relabund_phy_plot + scale_fill_manual(values=palette8.32) + scale_color_manual(values=palette8.32)